mysql.h


ANALYZE TABLE

ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name[,tbl_name...]

Analiza y almacena la distribución de claves de una tabla. Durante el análisis, la tabla se bloquea para lectura. Funciona con tablas MyISAM y BDB.

Es equivalente a ejecutar myisamchk -a para la tabla.

MySQL usa la distribución de claves almacenada para decidir en qué orden pueden ser unidas las tablas cuando se hace una unión con algo distinto de una constante.

El comando devuelve una tabla con las siguientes columnas:

Columna Valor
Table Nombre de tabla
Op Siempre analyze (análisis)
Msg_type Uno de status, error, info o warning. (Estado, error, información o aviso)
Msg_text El mensaje

Se puede verificar la distribución de claves almacenada con el comando SHOW INDEX.

Si la tabla no ha cambiado desde el último comando ANALYZE TABLE, no será analizada de nuevo.

Antes de MySQL 4.1.1, los comandos ANALYZE no actualizaban el diario binario. Desde MySQL 4.1.1 lo hacen, salvo que se use la palabra clave opcional NO_WRITE_TO_BINLOG (o su alias LOCAL).