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