Handlers de MySQL para ver el perfil de acceso de la base de datos
Mediante show global status podemos ver como se accede a las tablas de MySQL.
El resultado de la sentencia sería similar a este:
mysql> show global status like 'Handler%'; +----------------------------+---------+ | Variable_name | Value | +----------------------------+---------+ | Handler_commit | 23558 | | Handler_delete | 2541 | | Handler_discover | 0 | | Handler_prepare | 0 | | Handler_read_first | 43126 | | Handler_read_key | 515389 | | Handler_read_next | 3123058 | | Handler_read_prev | 70722 | | Handler_read_rnd | 142060 | | Handler_read_rnd_next | 5959731 | | Handler_rollback | 632 | | Handler_savepoint | 0 | | Handler_savepoint_rollback | 0 | | Handler_update | 97452 | | Handler_write | 98669 | +----------------------------+---------+ 15 rows in set (0.09 sec)
Estos handlers son las funciones que se llaman para acceder a los datos mediante un determinado storage engine. Como que MySQL cuenta cada vez que se llama esa función podemos ver como accede a los datos.
Handler_read_first
Este nos indica si es alto que hay muchos full index scans.
Handler_read_key
Si este es alto indica que las tablas están bien indexadas.
Handler_read_next
Si este es algo se están haciendo queries por rango.
Handler_read_rnd
Si este es algo puede ser que se hagan queries con sorts, full-table-scans o joins que no están correctamente indexadas.
Handler_read_rnd_next
Si este es alto indica que las tablas no están correctamente indexadas porque se están haciendo muchos full-table-scans.
Lo ideal es graficar estos valores para ver su evolución. Por ejemplo:
En el gráfico de ejemplo podemos ver como las queries están mal indexadas.
Relacionados
Imprimir

24. April 2009 at 8:39 am :
Estimado:
Dos preguntas; para que sirve ‘Handler_prepare’?
Y otra cosa, como lograste graficar en cactis los handler?
Te agradesco de antemano