Frage : Löschen vieler Aufzeichnungen aus Oracle

Ich muss viele Aufzeichnungen aus Oracle 10g löschen (nah an 50 Million). Der Prozess nimmt eine sehr lange Zeit irgendwie; sobald er aus irgendeinem Grund getan wird, verlangsamt das Oracle DB wirklich. Die Antwortzeiten sind nach dem Auslassungsprozeß wirklich wirklich arm. Ich bin ein Neuer zu Oracle und SQL. Irgendwelche Vorschläge auf, wie man fortfährt?

Antwort : Löschen vieler Aufzeichnungen aus Oracle

abschließt es überhaupt t?

1) warum nicht tun Sie es in den Reihen? etwas mögen

Löschung von der Tabelle, in der updated_date <� date="" and="" rownum="">festlegen;

andererseits können wir die gleiche Sache tun, bis sie alles löscht. Losumfang ist gerade ein Beispiel, zum Sie verstehen zu lassen. Sie können den korrekten Losumfang feststellen, indem Sie ihn mit 50K durchführen, oder 10K usw. und Sie finden es dass Arbeiten schnell und sollten fein sein.

2) gibt es ein Index für die updated_date Spalte in Ihrer Tabelle?

3) nach Auslassung wenn Sie nur wenig Zählimpuls Aufzeichnungen in dieser Tabelle dann haben, warum man nur jene Aufzeichnungen nicht zu irgendeinem anderem Tabelle nimmt und dann diese Tabelle beschneidet und dann jene Aufzeichnungen zurück in ursprüngliche Tabelle setzt.

die Tabelle herstellen, die * von mytable wo > bak_table ist, wie <>auserwählt;
die mytable Tabelle beschneiden;
in mytable einsetzen vorwählen * von bak_table;
festlegen;

Danke
Weitere Lösungen  
 
programming4us programming4us