Al insertar menos de aproximadamente 1,350,000 filas en la tabla, todo toma aproximadamente 2 minutos, sin embargo, cuando el número de filas insertadas es mayor, el tiempo necesario para insertar datos aumenta a aproximadamente 5 horas.
El problema no está relacionado con consultas o índices, porque todo ha estado funcionando bien durante mucho tiempo y nada ha cambiado en la estructura de consultas, tablas o índices.
El problema apareció por primera vez hace aproximadamente 2 semanas y aparece repetidamente en días, cuando el número de filas insertadas es mayor que + -1,350,000. Por ejemplo, en un día, el número de filas insertadas es de 1,200,000 y el proceso lleva 2 minutos, en el otro día el número de filas es de 1,450,000 y la inserción de datos demora de 5 a 6 horas.
Traté de reconstruir índices, pero no me ayudó.
fuente
Respuestas:
Supongo que, si en realidad no está siendo bloqueado, está alcanzando un umbral por encima del cual el archivo de datos (y / o archivo de registro) tiene que crecer, y que su configuración no está optimizada para soportar este crecimiento. Asegurarse de que:
fuente
¿Podría ser esto un problema de memoria?
Podrías ver este tipo de comportamiento si una porción de datos a la que se debe acceder repetidamente crece demasiado para la memoria y obtienes golpes de disco del infierno. Si tiene que recorrer una porción de datos que es demasiado grande para la memoria, terminará con la lectura completa del archivo de intercambio para cada pase, empujarlo más allá de ese límite puede hacer que su rendimiento caiga por un precipicio.
fuente
¿Está intentando / es posible dividirlos en lotes más pequeños? Cuando me encuentro con un problema similar, agruparlos por 5.000 (con GO) realmente ha reducido el tiempo que llevó completar dicha tarea.
fuente