MySQL InnoDB, не выпускающий дисковое пространство после удаления строк данных от таблицы

Единица является любым элементом, который может быть протестирован в изоляции. Таким образом каждый почти всегда будет методами тестирования в среде OO и некоторыми поведениями класса, где существует сильная связь между методами того класса.

127
задан jeteon 23 June 2015 в 22:31
поделиться

2 ответа

MySQL не уменьшает размер ibdata1. Когда-либо. Даже если вы используете optimize table , чтобы освободить пространство, используемое от удаленных записей, она будет повторно использовать его позже.

Альтернативой является настройка сервера для использования innodb_file_per_table , но для этого потребуется резервное копирование, удаление базы данных и восстановление. Положительным моментом является то, что файл .ibd для таблицы уменьшается после оптимизации таблицы .

131
ответ дан 24 November 2019 в 00:47
поделиться

Просто у меня самой была такая же проблема.

Случается так, что даже если вы уроните базу данных, innodb все равно не освободит место на диске. Пришлось экспортировать, остановить mysql, удалить файлы вручную, запустить mysql, создать базу данных и пользователей, а затем импортировать. Слава богу, у меня было всего 200МБ строк, но он пощадил 250ГБ файла innodb.

Fail by design.

37
ответ дан 24 November 2019 в 00:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: