sql >> Base de Datos >  >> RDS >> Mysql

Consulta lenta de MySQL - Esperando el bloqueo de caché de consulta

Resolví mi problema de consulta lenta. Para resumir el problema, tomó 22 segundos consultar 7000 filas de una tabla indexada de 20 millones de filas y 1,7 GB. El problema era que el caché era demasiado pequeño y la consulta tenía que ir al disco para cada consulta. Pensaría que el acceso al disco sería más rápido de lo que estaba viendo porque estaba saliendo de una columna indexada, por lo que la cantidad de datos leídos del disco debería haber sido pequeña. Pero supongo que hay muchos gastos generales al acceder al almacenamiento de InnoDB en el disco.

Una vez que configuré innodb_buffer_pool_size=1024M en el archivo my.ini, la consulta inicial tardaría mucho tiempo, pero todas las consultas posteriores terminarían en menos de un segundo.

Desafortunadamente, la creación de perfiles realmente no ayudó.