4.5. Справочник по языку администрирования баз данных
4.5.1. Синтаксис команды OPTIMIZE TABLE
OPTIMIZE TABLE tbl_name[,tbl_name]...
Команда OPTIMIZE TABLE должна использоваться после удаления большей части таблицы или если в таблице было внесено много изменений в строки переменной длины (таблицы, в которых есть столбцы VARCHAR , BLOB или TEXT ). Удаленные записи поддерживаются при помощи связного списка, и последующие операции INSERT повторно используют позиции старых записей. Чтобы перераспределить неиспользуемое пространство и дефрагментировать файл данных, можно воспользоваться командой OPTIMIZE TABLE .
На данный момент команда OPTIMIZE TABLE работает только с таблицами MyISAM и BDB . Для таблиц BDB команда OPTIMIZE TABLE выполняет ANALYZE TABLE . См. раздел See Раздел 4.5.2, «Синтаксис команды ANALYZE TABLE ».
Можно применить OPTIMIZE TABLE к таблицам других типов, запустив mysqld с параметром --skip-new или --safe-mode , но в этом случае OPTIMIZE TABLE лишь только выполняет ALTER TABLE .
Команда OPTIMIZE TABLE работает следующим образом:
Если в таблице есть удаленные или разделенные строки, восстанавливает таблицу.
Если индексные страницы не отсортированы - сортирует их.
Если статистические данные не обновлены (и восстановление нельзя осуществить путем сортировки индексов), обновляет их.
Команда OPTIMIZE TABLE для MyISAM представляет собой эквивалент выполнения myisamchk --quick --check-only-changed --sort-index --analyze над таблицей.
Обратите внимание: во время работы OPTIMIZE TABLE таблица заблокирована!
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|