Я не могу освободить место в столах innodb.Проблема в оптимизации таблицы Innodb для освобождения свободного места
Я также установил innodb_files_per_table = 1, поэтому каждая таблица имеет отдельный файл ibd.
Когда я запрашиваю информацию_Schema для проверки размера данных, размера индекса и data_free, он всегда показывает некоторое значение, например 7Mb в столбце data_free для некоторых таблиц. Запрос:
ВЫБРАТЬ table_schema "Data Base Name", table_name (data_length + index_length)/1024/1024 "База данных Размер в МБ" (data_free)/ 1024/1024 "Свободное пространство в МБ" FROM information_schema.TABLES где table_schema = 'DB_NAME' заказать по 4 пределам пропуска 30;
бегает таблицу Оптимизировать также попытался альтер таблицы table_name двигатель = «InnoDB» но data_free все еще показывает 7Mb.
Я также включил innodb_stats_on_metadata, чтобы обновить статистику, а также выполнить флеш-таблицы и снова открыть таблицу, но все еще показывает 7Mb в data_free.
Любая идея, как я могу решить эту проблему свободного пространства?
Это нормально на больших таблицах. InnoDB оставляет примерно 1/16 свободного места [заполняя страницы примерно до 15/16] (http://dev.mysql.com/doc/refman/5.7/en/innodb-physical-structure.html). Это не является признаком проблемы. –
его не большой стол, он только 145 Мб таблицы .. , и я видел, что есть свободные места и на небольших столиках. Как и таблица 40Mb и свободное пространство 5Mb. –
Извините, я должен был быть более ясным с моим случайным использованием слова «больше». Я сравнивал другие таблицы на вашем сервере - чем больше таблица, тем больше вероятность того, что вы увидите значительное свободное пространство. –