поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

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

     
    © 1997-2005 PHP Club Team
    Rambler's Top100