El servidor mantiene muchas variables de estado que proveen de
información sobre sus operaciones. Puede ver estas variables y
sus valores utilizando la sentencia SHOW
STATUS
:
mysql> SHOW STATUS; +-----------------------------------+------------+ | Variable_name | Value | +-----------------------------------+------------+ | Aborted_clients | 0 | | Aborted_connects | 0 | | Bytes_received | 155372598 | | Bytes_sent | 1176560426 | … | Connections | 30023 | | Created_tmp_disk_tables | 0 | | Created_tmp_files | 3 | | Created_tmp_tables | 2 | … | Threads_created | 217 | | Threads_running | 88 | | Uptime | 1389872 | +-----------------------------------+------------+
Muchas variables de estado son inicializadas a 0 por la
sentencia FLUSH STATUS
.
Las variables de estado tienen los siguientes significados. Las variables en las que no se indica versión están presentes en MySQL 5.0. Para información a propósito de su historial de implementación, consulte Manual de referencia de MySQL 4.1.
Aborted_clients
El número de conexiones que han sido abortadas debido a que el cliente murió sin cerrar la conexión apropiadamente. Consulte Sección A.2.10, “Errores de comunicación y conexiones abortadas”.
Aborted_connects
El número de intentos de conexión al servidor MySQL que han fallado. Consulte Sección A.2.10, “Errores de comunicación y conexiones abortadas”.
Binlog_cache_disk_use
El número de transacciones que han utilizado la cache
temporal del registro binario pero han excedido el valor de
binlog_cache_size
y utilizado un archivo
temporal para almacenar las sentencias de la transacción.
Binlog_cache_use
El número de transacciones que han utilizado la cache temporal del registro binario.
Bytes_received
El número de bytes recibidos desde todos los clientes.
Bytes_sent
El número de bytes enviados hacia todos los clientes.
Com_
xxx
Las variables del contador de sentencias
Com_
indica
el número de veces que cada sentencia
xxx
xxx
ha sido ejecutada. Existe una
variable de estado por cada tipo de sentencia. Por ejemplo
Com_delete
y
Com_insert
cuentan sentencias
DELETE
and INSERT
,
respectivamente.
Las variables de estado
Com_stmt_
fueron añadidas en 5.0.8:
xxx
Com_stmt_prepare
Com_stmt_execute
Com_stmt_fetch
Com_stmt_send_long_data
Com_stmt_reset
Com_stmt_close
Estas variables representan comandos de sentencias
preparadas. Sus nombres se refieren a los comandos
COM_
utilizados en la capa de red; en otras palabras: Sus valores
son incrementados siempre que las llamadas de la API de
sentencias preparadas como
mysql_stmt_prepare(),
mysql_stmt_execute(), etc. son
ejecutadas. Asímismo,xxx
Com_stmt_prepare
,
Com_stmt_execute
y
Com_stmt_close
se incrementan también
cuando alguien ejecuta las siguientes sentencias SQL:
PREPARE
, EXECUTE
, or
DEALLOCATE
respectivamente.
Com_stmt_fetch
representa el número
total de comunicaciones de red ejecutadas al recibir datos
de los cursores
Todas las variables
Com_stmt_
son incrementadas aunque el argumento de una sentencia
preparada sea desconocido u ocurra un error durante la
ejecución. Es decir, sus valores corresponden al número de
peticiones recibidas, no al número de peticiones
completadas con éxito.
xxx
Connections
El número de instentos de conexión (con éxito o no) al servidor MySQL.
Created_tmp_disk_tables
El número de tablas temporales en disco creadas automáticamente por el servidor mientras ejecutaba sentencias.
Created_tmp_files
Número de arhcivos temporales que mysqld ha creado.
Created_tmp_tables
El número de tablas temporales en memoria creadas
automáticamente por el servidor mientras ejecuta
sentencias. Si Created_tmp_disk_tables
es
grande, quizá querría aumentar el valor de
tmp_table_size
para causar que las tablas
sean basadas en memoria en vez de basadas en disco.
Delayed_errors
El número de registros escritos con INSERT
DELAYED
en los que algún error ocurrió
(probablemente duplicate key
).
Delayed_insert_threads
El número de hilos gestores de INSERT
DELAYED
en uso.
Delayed_writes
El número de registros INSERT DELAYED
escritos
Flush_commands
El número de comandos FLUSH
ejecutados.
Handler_commit
El número de sentencias COMMIT
internas.
Handler_discover
El servidor MySQL puede preguntar al motor de almacenamiento
NDB Cluster
si conoce una tabla con un
nombre dado. Esto se llama descubrimiento (discovery).
Handler_discover
indica el número de
veces que se han descubierto tablas mediante este mecanismo.
Handler_delete
El número de veces que se han borrado registros de tablas.
Handler_read_first
El número de veces que se lee la primera entrada de un
índice. Si este valor es alto, indica que el servidor está
haciendo muchos escaneos "full index"; por ejemplo,
SELECT col1 FROM foo
, suponiendo que
col1
está indexada.
Handler_read_key
El número de peticiones para leer un registro basadas en una clave. Si este número es alto, es una buena indicación de que las consultas y tablas están indexadas adecuadamente.
Handler_read_next
El número de peticiones para leer el siguiente registro en el orden de la clave. Esto se incrementa cada vez que se está consultando una columna indexada con una restricción de rango, o si se está haciendo un escaneo de índice.
Handler_read_prev
El número de peticiones para leer el registro previo en el
orden de la clave. Este método de lectura es utilizado
principalmente para optimizar ORDER BY
...DESC
.
Handler_read_rnd
El número de peticiones para leer un registro basándose en una posición fija. Es alto si se están haciendo muchas consultas que requieren ordenación del resultado. Probablemente tenga muchas consultas que requieran que MySQL escanee tablas completas o tiene joins que no utilizan claves adecuadamente.
Handler_read_rnd_next
El número de peticiones para leer el siguiente registro en el archivo de datos. Éste es alto si está haciendo muchos escaneos de tablas. Generalmente esto sugiere que las tablas no están indexadas adecuadamente o que las consultas no están escritas para obetner ventaja de los índices que se tienen.
Handler_rollback
El número de sentencias ROLLBACK
internas.
Handler_update
El número de peticiones de modificación de un registro en una tabla.
Handler_write
El número de peticiones de inserción de un registro en una tabla.
Innodb_buffer_pool_pages_data
El número de páginas que contienen datos (procesados o no). Añadido en MySQL 5.0.2.
Innodb_buffer_pool_pages_dirty
El número de páginas sin procesar. Añadido en MySQL 5.0.2.
Innodb_buffer_pool_pages_flushed
El número de páginas del buffer sobre las que se ha hecho una petición de volcado. Añadido en MySQL 5.0.2.
Innodb_buffer_pool_pages_free
El número de páginas libres. Añadido en MySQL 5.0.2.
Innodb_buffer_pool_pages_latched
El número de páginas bloqueadas en el buffer
InnoDB
. Estas son las páginas que están
siendo actualmente leidas o escritas o que no pueden ser
volcadas o borradas por alguna otra razón. Añadido en
MySQL 5.0.2.
Innodb_buffer_pool_pages_misc
El número de páginas ocupadas porque han sido
seleccionadas para procesos administrativos, como bloqueos
de registro o el índice de hash adaptativo. Este valor
puede ser también calculado como
Innodb_buffer_pool_pages_total
-
Innodb_buffer_pool_pages_free
-
Innodb_buffer_pool_pages_data
. Añadido
en MySQL 5.0.2.
Innodb_buffer_pool_pages_total
Tamaño total del buffer, en páginas. Añadido en MySQL 5.0.2.
Innodb_buffer_pool_read_ahead_rnd
El número de lecturas avanzadas ``aleatorias'' que
InnoDB
ha iniciado. Esto pasa cuando una
consulta necesita escanear una gran poción de una tabla
pero en orden aleatorio. Añadido en MySQL 5.0.2.
Innodb_buffer_pool_read_ahead_seq
El número de lecturas avanzadas secuenciales que
InnoDB
ha iniciado. Esto pasa cuando
InnoDB
realiza un escaneo secuencial
completo de una tabla. Añadido en MySQL 5.0.2.
Innodb_buffer_pool_read_requests
El número de peticiones lógicas de lectura que
InnoDB
ha hecho. Añadido en MySQL 5.0.2.
Innodb_buffer_pool_reads
El número de lecturas lógicas del buffer que
InnoDB
no pudo satisfacer y tuvo que
hacer una lectura de una única página. Añadido en MySQL
5.0.2.
Innodb_buffer_pool_wait_free
Normalmente, las escrituras al buffer de
InnoDB
se llevan acabo en segundo plano.
Aún así, si es necesario leer o crear una página y no
existe ninguna página vacía disponible, entonces es
también necesario esperar a que las páginas sean volcadas
previamente. Este contador cuenta las instancias de estas
esperas. Si el tamaño del buffer ha sido establecido
correctamente, este valor debería ser pequeño. Añadido en
MySQL 5.0.2.
Innodb_buffer_pool_write_requests
El número de escrituras hechas al buffer de
InnoDB
. Añadido en MySQL 5.0.2.
Innodb_data_fsyncs
El número de operaciones fsync()
total.
Añadido en MySQL 5.0.2.
Innodb_data_pending_fsyncs
El número de operaciones fsync()
pendientes. Añadido en MySQL 5.0.2.
Innodb_data_pending_reads
El número actual de lecturas pendientes. Añadido en MySQL 5.0.2.
Innodb_data_pending_writes
El número actual de escrituras pendientes. Añadido en MySQL 5.0.2.
Innodb_data_read
El total de datos leidos, en bytes. Añadido en MySQL 5.0.2.
Innodb_data_reads
El número total de lecturas de datos. Añadido en MySQL 5.0.2.
Innodb_data_writes
El número total de escrituras de datos. Añadido en MySQL 5.0.2.
Innodb_data_written
El total de datos escritos, en bytes. Añadido en MySQL 5.0.2.
Innodb_dblwr_writes
,
Innodb_dblwr_pages_written
El número de operaciones doublewrite que se han ejecutado y el número de páginas que se han escrito para ello. Añadido en MySQL 5.0.2. Consulte Sección 15.14.1, “E/S de disco (Disk I/O)”.
Innodb_log_waits
El número de esperas debidas a que el registro del buffer era demasiado pequeño y se tuvo que esperar a que fuese volcado antes de continuar. Añadido en MySQL 5.0.2.
Innodb_log_write_requests
El número de peticiones de escritura al registro. Añadido en MySQL 5.0.2.
Innodb_log_writes
El número de escrituras físicas al archivo de registro. Añadido en MySQL 5.0.2.
Innodb_os_log_fsyncs
El número de escrituras fsync()
realizadas al archivo de registro. Añadido en MySQL 5.0.2.
Innodb_os_log_pending_fsyncs
El número de operaciones fsync()
del
archivo de registro. Añadido en MySQL 5.0.2.
Innodb_os_log_pending_writes
Escrituras del archivo de registro pendientes. Añadido en MySQL 5.0.2.
Innodb_os_log_written
El número de bytes escritos al archivo de registro. Añadido en MySQL 5.0.2.
Innodb_page_size
El tamaño de página con que se compiló
InnoDB
(16KB por defecto). Muchos valores
son contados en páginas; el tamaño de página permite
convertirlos fácilmente a bytes. Añadido en MySQL 5.0.2.
Innodb_pages_created
El número de páginas creadas. Añadido en MySQL 5.0.2.
Innodb_pages_read
El número de páginas leidas. Añadido en MySQL 5.0.2.
Innodb_pages_written
El número de páginas escritas. Añadido en MySQL 5.0.2.
Innodb_row_lock_current_waits
El número de bloqueos de registro por el que se está esperando. Añadido en MySQL 5.0.3.
Innodb_row_lock_time
El tiempo total gastado en adquirir bloqueos de registro, en milisegundos. Añadido en MySQL 5.0.3.
Innodb_row_lock_time_avg
El tiempo medio gastado en adquirir un bloqueo de registro, en milisegundos. Añadido en MySQL 5.0.3.
Innodb_row_lock_time_max
El tiempo máximo gastado en adquirir un bloqueo de registro, en milisegundos. Añadido en MySQL 5.0.3.
Innodb_row_lock_waits
El número de veces que se ha tenido que esperar por un bloqueo de registro. Añadido en MySQL 5.0.3.
Innodb_rows_deleted
El número de registros borrados de tablas
InnoDB
. Añadido en MySQL 5.0.2.
Innodb_rows_inserted
El número de registros insertados en tablas
InnoDB
. Añadido en MySQL 5.0.2.
Innodb_rows_read
El número de registros leidos desde tablas
InnoDB
. Añadido en MySQL 5.0.2.
Innodb_rows_updated
El número de registros actualizados en tablas
InnoDB
. Añadido en MySQL 5.0.2.
Key_blocks_not_flushed
El número de bloques de claves en la cache de claves que han cambiado pero todavía no han sido volcados a disco.
Key_blocks_unused
El número de bloques sin utilizar en la cache de claves.
Puede utilizar este valor para determinar qué tamaño de la
cache de claves está en uso; consulte la discusión de
key_buffer_size
en
Sección 5.3.3, “Variables de sistema del servidor”.
Key_blocks_used
El número de bloques utilizados en la cache de claves. Este valor es una marca de máximo, que indica el número máximo de bloques que han sido nunca utilizados al mismo tiempo.
Key_read_requests
El número de peticiones para leer un bloque de claves de la cache.
Key_reads
El número de lecturas físicas de un bloque de claves desde
disco. Si Key_reads
es grande, entonces
el valor de key_buffer_size
es,
probablemente, demasiado pequeño. La tasa de fallos de la
cache puede ser calculada como
Key_reads
/Key_read_requests
.
Key_write_requests
El número de peticiones de escritura de un bloque de claves a la cache.
Key_writes
El número de escrituras físicas de un bloque de claves a disco.
Last_query_cost
El coste total de la última consulta compilada tal como ha
sido computada por el optimizador de consultas. Es útil
para comparar el coste de diferentes planes de ejecución
para la misma consulta. El valor por defecto de 0 significa
que no se ha compilado ninguna consulta todavía. Esta
variable fue añadida en MySQL 5.0.1 con un valor por
defecto de -1. En MySQL 5.0.7 el valor por defecto ha
cambiado a 0; también en la versión 5.0.7, el ámbito de
Last_query_cost
ha cambiado a sesión en
vez de global.
Max_used_connections
El número máximo de conexiones que han sido utilizadas simultáneamente desde que el servidor ha sido iniciado.
Not_flushed_delayed_rows
El número de registros esperando a ser escritos en colas de
INSERT DELAY
.
Open_files
El número de archivos que están abiertos.
Open_streams
El número de flujos de datos (strems) que están abiertos (utilizados principalmente para el registro).
Open_tables
El número de tablas que están actualmente abiertas.
Opened_tables
El número de tablas que han sido abiertas. Si
Opened_tables
es grande, probablemente el
valor de table_cache
es demasiado
pequeño.
Qcache_free_blocks
El número de bloques de memoria libres en la cache de consultas.
Qcache_free_memory
El total de memoria libre en la cache de consultas.
Qcache_hits
El número de éxitos de la cache.
Qcache_inserts
El número de consultas añadidas a la cache.
Qcache_lowmem_prunes
El número de consultas que fueron borradas de la cache de consultas debido a baja memoria.
Qcache_not_cached
El número de consultas que no han entrado en la cache (por
no ser "cacheables", o debido al parámetro
query_cache_type
).
Qcache_queries_in_cache
El número de consultas registradas en la cache.
Qcache_total_blocks
El número total de bloques en la cache de consultas.
Questions
El número de consultas que han sido enviadas al servidor.
Rpl_status
El estado de la replicación a prueba de fallos (todavía no implementado).
Select_full_join
El número de joins que no utilizan índices. Si este valor no es 0, debería comprobar cuidadosamente los índices de sus tablas.
Select_full_range_join
El número de joins que han utilizado una búsqueda por rango en una tabla de referencia.
Select_range
El número de joins que han usado rangos en la primera table. Normalmente no es algo crítico aunque pueda ser bastante grande.
Select_range_check
El número de joins sin claves que comprueban la utilización de claves después de cada registro. Si esto no es cero, debería comprobar cuidadosamente los índices de sus tablas.
Select_scan
El número de joins que han hecho un escaneo total de la primera tabla.
Slave_open_temp_tables
El número de tablas temporales abiertas actualmente por el subproceso SQL esclavo.
Slave_running
Este valor es ON
si el servidor es un
esclavo que está conectado a un servidor maestro.
Slave_retried_transactions
Número total de veces desde el inicio que el subproceso SQL esclavo de replicación ha intentando alguna transacción. Para la serie de MySQL 5.0, esta variable fue añadida en la versión 5.0.4.
Slow_launch_threads
El número de subprocesos que han tardado en crearse más de
slow_launch_time
segundos.
Slow_queries
El número de consultas que han tardado más de
long_query_time
segundos. Consulte
Sección 5.10.4, “El registro de consultas lentas (Slow Query Log)”.
Sort_merge_passes
El número de pasadas que el algoritmo de ordenación ha
tenido que hacer. Si este valor es grande, debería
considerar incrementar el valor de la variable de
sistemasort_buffer_size
Sort_range
El número de ordenaciones que fueron realizadas utilizando rangos.
Sort_rows
El número de registros ordenados.
Sort_scan
El número de ordenaciones que fueron hechas escaneando la tabla.
Ssl_
xxx
Variables utilizadas para conexiones SSL.
Table_locks_immediate
El número de veces que un bloque de tabla ha sido adquirido inmediatamente.
Table_locks_waited
El número de veces que un bloque de tabla no se ha podido adquirir inmediatamente y se ha necesitado una espera. Si esto es alto, y tiene problemas de rendimiento, debería primero optimizar sus consultas y después, o bien utilizar replicación, o dividir sus tablas.
Threads_cached
El número de subprocesos en la cache de subprocesos.
Threads_connected
El número de conexiones abiertas actualmente.
Threads_created
El número de subprocesos creados para gestionar conexiones.
Si Threads_created
es grande, debería
incrementar el valor de
thread_cache_size
. La tasa de éxitos de
la cache puede ser calculada como
Threads_created
/Connections
.
Threads_running
El número de subprocesos que no están durmiendo.
Uptime
El número de segundos que el servidor ha estado funcionando ininterrumpidamente.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.