Spec-Zone .ru
спецификации, руководства, описания, API
|
ANALYZE [NO_WRITE_TO_BINLOG | LOCAL] TABLEtbl_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
.