Abordar consultas lentas "SELECT COUNT(*)" en MySQL
Su consulta en la tabla change_event, contando filas que exceden un change_event_id específico , está experimentando retrasos importantes. ¿Pero por qué? Profundicemos en las posibles causas.
Revelando el comportamiento de InnoDB
El motor InnoDB de MySQL utiliza claves primarias agrupadas, lo que significa que la clave primaria se almacena junto con los datos de fila en las páginas de datos, en lugar de que páginas de índice separadas. Como resultado, los escaneos de rango, como el suyo, requieren escanear todas las filas potencialmente anchas en las páginas de datos. Este factor se ve exacerbado por la columna xml_diff de la tabla, un tipo de datos de TEXTO que ralentiza aún más el procesamiento.
Estrategias de optimización
Para acelerar la consulta, vale la pena considerar dos enfoques :
Consejo adicional:
Para mejorar aún más el rendimiento, considere modificar la columna change_event_id a bigint unsigned. Este paso evita valores negativos y también puede agilizar el procesamiento.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3