7.5.12.3 Дефрагментация таблицы
Если в индексной таблице производились случайные вставки или удаления,
индекс может стать фрагментированным. Под фрагментацией мы подразумеваем
то, что физическое расположение индексных страниц на диске значительно
отличается от алфавитного порядка страниц, или что в 64-страничных блоках
много пустых страниц, которые занесены в индекс.
Скорость сканирования индекса может возрасти, если периодически
использовать команду mysqldump для копирования дампа таблицы в текстовый
файл, записи диска на диск и повторного считывания таблицы из дампа. Есть
еще один способ произвести дефрагментацию - преобразовать таблицу при
помощи команды ALTER
в тип MyISAM
, а затем обратно в тип InnoDB. Обратите
внимание на то, что таблица типа MyISAM
должна помещаться в один файл в
вашей операционной системе.
Если вставки в индекс всегда производятся последовательно, а удаления -
только с конца, то алгоритм управления файловым пространством InnoDB
гарантирует, что фрагментации индекса не возникнет.