J'ai une procédure stockée qui tronque certaines tables avec environ 1,75 million de lignes dans chacune, avant d'insérer de nouvelles données (basées sur les données d'autres tables, calculs, etc.)
Le plan de base est très simple:
- Tronquer les tableaux
- Insérez 1,75 million de lignes dans des «lots» d'environ 75 000 à la fois.
Je me demande si je devrais explicitement reconstruire les index à tout moment dans ce processus? par exemple
- Tronquer les tableaux
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[ou quelque chose de similaire]- Insérer 1,75 million de lignes
ou peut-être
ALTER INDEX ALL ON xxx DISABLE
- Tronquer les tableaux
- Insérer 1,75 million de lignes
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[ou quelque chose de similaire]
Toute aide appréciée ... pas un DBA - un Dev qui connaît assez bien la DB est plus précis!
insert into
et pour le moment il n'y a pas de order by
clause, mais je pourrais ajouter que si cela pouvait aider? L'ID et le code sont également indexés séparément.