Tengo un procedimiento almacenado que trunca algunas tablas con alrededor de 1,75 millones de filas en cada una, antes de insertar nuevos datos (basados en datos de otras tablas, cálculos, etc.)
El esquema básico es muy simple:
- Truncar tablas
- Inserte 1.75M filas en 'lotes' de alrededor de 75,000 por vez.
Me pregunto si debería reconstruir explícitamente los índices en cualquier momento de este proceso. p.ej
- Truncar tablas
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[o algo similar]- Insertar 1.75 millones de filas
o quizás
ALTER INDEX ALL ON xxx DISABLE
- Truncar tablas
- Insertar 1.75 millones de filas
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[o algo similar]
Cualquier ayuda apreciada ... no es un DBA: ¡un desarrollador que conoce bastante bien los DB es más preciso!
insert into
y por el momento no hay una order by
cláusula, pero podría agregar eso si fuera útil. ID y código también se indexan por separado.