Spec-Zone .ru
спецификации, руководства, описания, API

13.7.2.1. ANALYZE TABLE Синтаксис

ANALYZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE    tbl_name [, tbl_name] ...

ANALYZE TABLE анализирует и хранит ключевое распределение для таблицы. Во время анализа таблица блокируется с блокировкой чтения для InnoDB и MyISAM. Этот оператор работает с InnoDB, NDB, и MyISAM таблицы. Для MyISAM таблицы, этот оператор эквивалентен использованию myisamchk - анализируют.

Для получения дополнительной информации по тому, как анализ работает в пределах InnoDB, см. Раздел 14.2.4.2.10, "Персистентная Статистика Оптимизатора для Таблиц InnoDB" и Раздела 14.2.7, "Пределы на InnoDB Таблицы". В частности когда Вы включаете innodb_stats_persistent опция, следует работать ANALYZE TABLE после загрузки существенных данных в InnoDB таблица, или создание нового индексирует для одного.

MySQL использует сохраненное ключевое распределение, чтобы решить порядок, в котором нужно присоединиться к таблицам, когда Вы выполняете соединение на чем-то другом чем константа. Кроме того, ключевые дистрибутивы могут использоваться, решая, который индексирует, чтобы использовать для определенной таблицы в пределах запроса.

Этот оператор требует SELECT и INSERT полномочия для таблицы.

ANALYZE TABLE поддерживается для разделенных таблиц, и можно использовать ALTER TABLE ... ANALYZE PARTITION проанализировать один или более разделов; для получения дополнительной информации см. Раздел 13.1.6,"ALTER TABLE Синтаксис", и Раздел 17.3.4, "Обслуживание Разделов".

В MySQL 5.7.1, gtid_next должен быть установлен в AUTOMATIC прежде, чем сделать это заявление. Это ограничение не применяется в MySQL 5.7.2 или позже. (Ошибка #16062608, Ошибка #16715809, Ошибка #69045)

ANALYZE TABLE возвращает набор результатов со следующими столбцами.

Столбец Значение
Table Имя таблицы
Op Всегда analyze
Msg_type status, error, info, note, илиwarning
Msg_text Информационное сообщение

Можно проверить сохраненное ключевое распределение с SHOW INDEX оператор. См. Раздел 13.7.5.21,"SHOW INDEX Синтаксис".

Если таблица не изменилась начиная с последнего ANALYZE TABLE оператор, таблица не анализируется снова.

По умолчанию, записи сервера ANALYZE TABLE операторы к двоичному журналу так, чтобы они тиражировались к ведомым устройствам репликации. Чтобы подавить журналирование, определите дополнительное NO_WRITE_TO_BINLOG ключевое слово или его псевдоним LOCAL.