Ich habe eine gespeicherte Prozedur, die einige Tabellen mit jeweils etwa 1,75 Millionen Zeilen abschneidet, bevor neue Daten eingefügt werden (basierend auf Daten in anderen Tabellen, Berechnungen usw.).
Grundriss ist sehr einfach:
- Tabellen abschneiden
- Fügen Sie 1,75 Millionen Zeilen in "Stapel" von ungefähr 75.000 pro Zeit ein.
Ich frage mich, ob ich die Indizes in diesem Prozess zu irgendeinem Zeitpunkt explizit neu erstellen soll. z.B
- Tabellen abschneiden
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[oder etwas ähnliches]- Fügen Sie 1,75 Millionen Zeilen ein
oder vielleicht
ALTER INDEX ALL ON xxx DISABLE
- Tabellen abschneiden
- Fügen Sie 1,75 Millionen Zeilen ein
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[oder etwas ähnliches]
Jede Hilfe wird geschätzt ... kein DBA - ein Entwickler, der die DBs ziemlich gut kennt, ist genauer!
insert into
und im Moment gibt es keine order by
Klausel, aber ich könnte das hinzufügen, wenn es helfen würde? ID und Code werden ebenfalls separat indiziert.