Qué hacer cuando un índice con varias columnas ralentiza las inserciones?
#1
Estaba revisando unas consultas lentas en nuestro sistema y me encontré con que un índice que creamos hace tiempo sobre la tabla de pedidos está generando más sobrecarga de la que esperaba durante las inserciones. El tema es que ahora me pregunto si realmente necesitamos mantener esa estructura de índice con tantas columnas incluidas, o si sería mejor simplificarlo y asumir un costo mayor en algunas lecturas específicas. La situación me tiene dudando sobre cuándo el mantenimiento de un índice deja de valer la pena.
Responder
#2
Me pongo a pensar en ese índice como una cría que creció demasiado y ahora empuja al insert con cada intento de escritura. No es solo emoción; si la carga sube, quizá la estructura está pidiendo revisión.
Responder
#3
Un índice con muchas columnas eleva el costo de cada inserción, porque el motor tiene que actualizar varias columnas y escribir más páginas. Si las lecturas lentas las cubren consultas concretas, convendría hacerlo más selectivo o usar un índice cubriente para esas lecturas y dejar el resto fuera.
Responder
#4
¿Estás seguro de que el problema viene del índice? A veces lo que parece sobrecarga en inserciones es bloqueo o contención en la transacción; quitar columnas podría no resolverlo y hasta empeorar las lecturas en otros escenarios.
Responder
#5
Qué sentido tiene aferrarse a esa estructura si la tasa de inserciones está por las nubes y el beneficio de lectura se erosiona. Tal vez valga más un plan de pruebas bajo carga para ver si merece mantener el índice o si conviene aceptar mayores costos de lectura puntuales.
Responder
#6
Podrías replantear el objetivo: ¿qué lector esperas y con qué patrón de consultas exige ese índice? El dilema es si el costo de mantenerlo supera el ahorro en lecturas.
Responder
#7
Una opción práctica: prueba un índice más estrecho, con solo las columnas necesarias para las consultas más usadas, y monitoriza el rendimiento durante una carga de inserciones; si la ganancia es marginal, quizá convenga dejarlo en pausa.
Responder


[-]
Respuesta rápida
Mensaje
Escribe tu respuesta a este mensaje aquí.

Verificación de la imagen
Escribe el texto que aparece en la imagen, en el campo que está abajo. Este proceso se usa para evitar mensajes automáticos.
Verificación de la imagen
(no distingue MAYÚSC/minúsc)

Salto de foro: