Tenemos una serie de tablas que han crecido orgánicamente a varios millones de filas, en producción hacer una inserción o actualización puede tomar hasta dos segundos. Sin embargo, si vuelco la tabla y la vuelvo a crear a partir de las consultas de volcado son muy rápidas.¿Por qué las inserciones/actualizaciones de MySQL InnoDB en tablas grandes son muy lentas cuando hay pocos índices?
Hemos reconstruido una de las tablas creando una copia reconstruyendo los índices y luego haciendo un cambio de nombre y copiando sobre cualquier nueva fila, esto funcionó porque esa tabla solo se adjunta. Al hacerlo, las inserciones y actualizaciones se hicieron más rápidas.
Mis preguntas:
¿Por qué los insertos de ser lento en el tiempo? ¿Por qué volver a crear la tabla y hacer una importación corregir esto? ¿Hay alguna forma de que pueda reconstruir índices sin bloquear una tabla para las actualizaciones?
motor de almacenamiento? Sistema de archivos? La versión de MySQL? ¿Son los registros muy grandes? – ggiroux
Lo siento, debería haber incluido esto en cuestión. InnoDB, XFS en una matriz de bandas con 15k discos. – Greg