Справочное руководство по MySQL

4.5.1 Синтаксис команды OPTIMIZE TABLE

    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 section 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 таблица заблокирована!




Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости