Подтвердить что ты не робот

Что означает значение information_schema.TABLES.DATA_FREE в MySQL?

Я не совсем уверен, что означает information_schema.TABLES.DATA_FREE в MySQL.

Может кто-нибудь, пожалуйста, помогите мне понять это?

Спасибо.

4b9b3361

Ответ 1

DATA_FREE- количество выделенных, но неиспользуемых байтов. Это размер файлов базы данных по сравнению с данными, хранящимися в файлах базы данных. PHPMyAdmin показывает эту информацию как "Накладные расходы в таблицах".

Однако для InnoDB это важно - "Таблицы InnoDB сообщают о свободном пространстве табличного пространства, к которому принадлежит таблица. Для таблицы, расположенной в общем табличном пространстве, это свободное пространство общего табличного пространства". Таким образом, с типичной установкой InnoDB ( "innondb_file_per_table" не задано) вы получите свободное пространство для всех таблиц, а не для одной таблицы.

Обратитесь: http://dev.mysql.com/doc/refman/5.5/en/tables-table.html и http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html

Ответ 2

Согласно информации MySQL о MySQL 5.6:

В столбце DATA_FREE показано свободное пространство в байтах для таблиц InnoDB

Для более ранних версий, таких как 5.5:

В столбце DATA_FREE показано свободное пространство в байтах для таблиц InnoDB.

Для MySQL Cluster DATA_FREE показывает пространство, выделенное на диске, но не используется таблицей данных диска или фрагментом на диске. (В памяти использование ресурсов данных сообщается столбцом DATA_LENGTH.)

Ответ 3

С innodb_file_per_table = OFF все таблицы InnoDB хранятся в одном и том же табличном пространстве. DATA_FREE (количество выделенных, но неиспользуемых байтов) сообщается для этого единственного табличного пространства.

Прочитайте http://dev.mysql.com/doc/refman/5.0/en/innodb-file-space.html:

"Когда вы запрашиваете доступное свободное пространство в табличном пространстве, выставляя STOW STOWUS , InnoDB сообщает о экстентах, которые, безусловно, свободны в табличном пространстве. InnoDB всегда резервирует несколько экстентов для очистки и других внутренних целей; эти зарезервированные экстенты не включены в свободное пространство. "

Итак, для таблиц InnoDB сообщается о свободном пространстве в табличном пространстве, и, как и все ваши таблицы, то же табличное пространство, то же самое значение.