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 таблица
заблокирована!
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
