PHP скрипты

MySQL

Apache

phpMyADmin

4.6: Синтаксис OPTIMIZE TABLE в MySQL

Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Синтаксис OPTIMIZE TABLE в MySQL

OPTIMIZE TABLE tbl_name[,tbl_name]...

OPTIMIZE TABLE должен использоваться, если вы удалили большую часть таблицы или сделали много изменений для таблицы со строками переменных длин (таблицы, которые имеют поля типов VARCHAR, BLOB или TEXT). Удаленные записи поддерживаются в связанном списке, и при последующем использовании операций INSERT повторно применяются старые позиции записей. Вы можете использовать OPTIMIZE TABLE, чтобы освободить неиспользуемое место, дефрагментировать и уменьшить файл данных.

OPTIMIZE TABLE

Сейчас OPTIMIZE TABLE применим только к таблицам типов MyISAM и BDB. Для таблиц типа BDB OPTIMIZE TABLE в настоящее время отображается на вызов ANALYZE TABLE. Подробности об этом вызове в разделе 4.7 «Синтаксис ANALYZE TABLE».

Вы можете оптимизировать и другие типы таблиц запуском mysqld с опциями -skip-new или —safe-mode, но в этом случае OPTIMIZE TABLE превратится в вызов ALTER TABLE.

OPTIMIZE TABLE работает следующим образом:

  • если таблица имеет удаленные или порванные строки, он ремонтирует таблицу;
  • если индексы не отсортированы, то сортирует их;
  • если статистика таблицы не современна (и «ремонт» не может быть выполнен с сортировкой индекса), модифицирует ее.

OPTIMIZE TABLE для таблиц типа MyISAM эквивалентен вызову myisamchk — quick —check-changed-tables —sort-index — analyze.

Обратите внимание, что таблица будет блокирована в течение всего времени работы команды OPTIMIZE TABLE!

Поделиться с друзьями