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

13.8.2. EXPLAIN Синтаксис

{EXPLAIN | DESCRIBE | DESC}    tbl_name [col_name | wild]{EXPLAIN | DESCRIBE | DESC}    [explain_type] explainable_stmtexplain_type:    EXTENDED  | PARTITIONS  | FORMAT = format_nameformat_name:    TRADITIONAL  | JSONexplainable_stmt:      SELECT statement    | DELETE statement    | INSERT statement    | REPLACE statement    | UPDATE statement

DESCRIBE и EXPLAIN операторы являются синонимами. Практически, DESCRIBE ключевое слово чаще используется, чтобы получить информацию о структуре таблицы, тогда как EXPLAIN используется, чтобы получить план выполнения запроса (то есть, объяснение того, как MySQL выполнил бы запрос). Следующее обсуждение использует DESCRIBE и EXPLAIN ключевые слова в соответствии с тем использованием, но синтаксический анализатор MySQL обрабатывает их как абсолютно синонимичных.

Получение информации о Структуре таблицы

DESCRIBE предоставляет информацию о столбцах в таблице. Это - ярлык для SHOW COLUMNS FROM. Эти операторы также выводят на экран информацию для представлений. (См. Раздел 13.7.5.6,"SHOW COLUMNS Синтаксис".)

col_name может быть имя столбца, или строка, содержащая SQL"%"и"_"подстановочные символы, чтобы получить вывод только для столбцов с именами, соответствующими строку. Нет никакой потребности включить строку в пределах кавычек, если она не содержит пробелы или другие специальные символы.

mysql> DESCRIBE City;+------------+----------+------+-----+---------+----------------+| Field      | Type     | Null | Key | Default | Extra          |+------------+----------+------+-----+---------+----------------+| Id         | int(11)  | NO   | PRI | NULL    | auto_increment || Name       | char(35) | NO   |     |         |                || Country    | char(3)  | NO   | UNI |         |                || District   | char(20) | YES  | MUL |         |                || Population | int(11)  | NO   |     | 0       |                |+------------+----------+------+-----+---------+----------------+5 rows in set (0.00 sec)

Описание для SHOW COLUMNS предоставляет больше информации о выходных столбцах (см. Раздел 13.7.5.6,"SHOW COLUMNS Синтаксис").

Если типы данных отличаются от того, что Вы ожидаете, что они будут основаны на a CREATE TABLE оператор, отметьте, что MySQL иногда изменяет типы данных, когда Вы создаете или изменяете таблицу. Условия, при которых это происходит, описываются в Разделе 13.1.17.3, "Тихие Изменения Спецификации Столбца".

DESCRIBE оператор обеспечивается для совместимости с Oracle.

SHOW CREATE TABLE, SHOW TABLE STATUS, и SHOW INDEX операторы также предоставляют информацию о таблицах. См. Раздел 13.7.5,"SHOW Синтаксис".

Получение информации о Плане выполнения Запроса

EXPLAIN оператор обеспечивает способ получить информацию о том, как MySQL выполняет оператор: