2012-03-16 25 views

Respuesta

5

Según la información de MySQL en MySQL 5.6:

La columna DATA_FREE muestra el espacio libre en bytes de tablas InnoDB

Para versiones anteriores como 5.5:

La columna DATA_FREE muestra el espacio libre en bytes para tablas InnoDB.

Para MySQL Cluster, DATA_FREE muestra el espacio asignado en el disco para, pero no utilizado por, una tabla de datos de disco o un fragmento en el disco. (En memoria el uso de recursos de datos Se ha informado por la columna de la DATA_LENGTH.)

+0

Lo tengo. Gracias. – bananaaus

0

Con innodb_file_per_table = OFF todas las tablas InnoDB se almacenan en el mismo espacio de tablas. DATA_FREE (el número de bytes asignados pero no utilizados) se informa para ese espacio de tabla único.

Leer http://dev.mysql.com/doc/refman/5.0/en/innodb-file-space.html:

"Cuando se le pregunta por el espacio libre disponible en el espacio de tabla mediante la emisión de un SHOW TABLE STATUS declaración, InnoDB informa de las áreas que están totalmente libres en el espacio de tablas InnoDB siempre reserva algunas áreas para. limpieza y otros fines internos; estas extensiones reservadas no están incluidas en el espacio libre ".

Por lo tanto, para las tablas InnoDB se informa el espacio libre en tablespace, y como todas las tablas comparten el mismo tablespace, el mismo valor es el resultado.

+0

Ah ... gracias Naveen. – bananaaus

8

DATA_FREE- Número de bytes asignados pero no utilizados. Es el tamaño de los archivos de la base de datos en comparación con los datos almacenados en los archivos de la base de datos. PHPMyAdmin muestra esta información como 'Sobrecarga en tablas'.

Sin embargo, para InnoDB esto es importante: "Las tablas InnoDB informan el espacio libre del tablespace al que pertenece la tabla. Para una tabla ubicada en el tablespace compartido, este es el espacio libre del tablespace compartido". Entonces, con una configuración típica de InnoDB ('innondb_file_per_table' no está configurado) obtendrá el espacio libre para todas las tablas y no para una sola tabla.

Consulte: http://dev.mysql.com/doc/refman/5.5/en/tables-table.html y http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html

+0

Entendido. Gracias. – bananaaus