2016-11-01 9 views
0

innondb_file_per_table = 1.MySQL 5.6 - InnoDB - DATA_FREE не используется, но таблица продолжает расти

У нас есть большой стол, где data_free большой.

Мы продолжаем очищать старые данные из этой таблицы с регулярным интервалом.

Раньше (когда были на MySQL 5.5), мы наблюдали, как data_free потреблялось, а с архивного процесса оно увеличивалось, а затем потреблялось до следующего запуска архива.

Но после перехода на 5.6, мы видим, что data_free не используется, но таблица продолжает расти.

Любой указатель, почему это должно произойти?

ответ

0

Это жизнь. MySQL не очень хорош при возвращении дискового пространства в ОС.

Поскольку это отдельный .ibd-файл, вы можете сделать OPTIMIZE TABLE сразу после вашего периодического архива. Но тогда он будет расти до больших размеров.

Являются ли данные «скользящим временем»? То есть, вы сохраняете стоимость в месяц, а затем снимаете дневную стоимость каждую ночь? Это один случай, когда PARTITIONs блеск. DROP PARTITION возвращает пространство, используемое разделом для ОС. Если вы хотите скопировать старый день в другое место, вам понадобятся «переносные табличные пространства», и вам понадобится 5.6 (или, лучше, 5.7).

Подробнее о том, как использовать разметку для таких: here.

 Смежные вопросы

  • Нет связанных вопросов^_^