Ich habe ungefähr 84 Millionen Zeilen. Von diesen müssen alle in eine separate Datenbank auf demselben Server übertragen werden. Dann lösche ich, um ungefähr 60 Millionen Zeilen aus der Quellendatenbank zu löschen.
Die 84 Millionen Zeilen befinden sich alle in derselben Tabelle. Allein diese Tabelle macht 90% der gesamten Datenbank aus.
Also ... Quelle: 84 Millionen Zeilen -> 24 Millionen Zeilen Ziel: 0 Zeilen -> 84 Millionen Zeilen
Die Quelle wird im vollständigen Wiederherstellungsmodus ausgeführt, das Ziel wird einfach ausgeführt.
Ich frage mich, was der effizienteste Weg wäre, dies zu tun.
Plan A:
1) INSERT INTO Ziel SELECT * FROM Quelle
2) TRUNCATE-Quelle
3) INSERT INTO source SELECT * FROM Ziel WHERE keep_condition = 1
Plan B:
1) Stellen Sie eine Sicherung der Quellendatenbank als Zieldatenbank wieder her
2) Löschen Sie alle Tabellen mit Ausnahme der in der Zieldatenbank benötigten
3) TRUNCATE-Quelle
4) INSERT INTO source SELECT * FROM Ziel WHERE keep_condition = 1
Plan C:
1) INSERT INTO Ziel SELECT * FROM Quelle
2) DELETE source WHERE keep_condition = 0
oder etwas anderes?
Vielen Dank