Я не совсем уверен, что означает information_schema.TABLES.DATA_FREE в MySQL.
Может кто-нибудь, пожалуйста, помогите мне понять это?
Спасибо.
Я не совсем уверен, что означает information_schema.TABLES.DATA_FREE в MySQL.
Может кто-нибудь, пожалуйста, помогите мне понять это?
Спасибо.
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
Согласно информации MySQL о MySQL 5.6:
В столбце DATA_FREE показано свободное пространство в байтах для таблиц InnoDB
Для более ранних версий, таких как 5.5:
В столбце DATA_FREE показано свободное пространство в байтах для таблиц InnoDB.
Для MySQL Cluster DATA_FREE показывает пространство, выделенное на диске, но не используется таблицей данных диска или фрагментом на диске. (В памяти использование ресурсов данных сообщается столбцом DATA_LENGTH.)
С 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 сообщается о свободном пространстве в табличном пространстве, и, как и все ваши таблицы, то же табличное пространство, то же самое значение.