SQL DB Tabelleninhalte löschen

Hallo,
kleines Datenbankproblem, betrifft einen Gameserver und zugriff erfolgt über phpMyAdmin.
Grundstruktur:
Tabelle:Spalte, Spalte2, Spalte3
T1: ID, login, update, S3
T2: ID, userId, S3
T3: ID, userLogin, S3

Nun möchte ich alle Daten Löschen, von Benutzern die seit 2010 kein update gemacht haben
und hab mir sowas gedacht:

SELECT DISTINCT *
FROM T1, T2, T3
WHERE T2.userId=T1.ID
AND T3.userLogin=T1.login
AND T1.update < '2010-01-01 00:00:00'; dadrum dann ne kleinegroße schleife: DECLARE x NUMBER; BEGIN x:=10; FOR i IN 1 .. x LOOP SELECT ...; END LOOP; END; T1 umfasst ca 200k ids. beim löschen fallen ca 90k weg. Funktioniert sowas grundsätzlich? Gibt das irgendwie laufzeitprobleme? ALternative die mir vielleicht sogar lieber wäre da ich dann vorher genauer schauen kann was ich lösche, wäre erst in T1 löschen SELECT * FROM T1 WHERE update < '2010-01-01 00:00:00'; und dann in T2(analog T3) irgendwie sowas SELECT * FROM T2 WHERE useriD "nicht in T1" <-- wie geht das? oder wie am besten vorgehen? Danke für anregungen, vorschläge etc :)

Leave a Reply

Your email address will not be published. Required fields are marked *