Spec-Zone .ru
спецификации, руководства, описания, API
|
{EXPLAIN | DESCRIBE | DESC}tbl_name
[col_name
|wild
]{EXPLAIN | DESCRIBE | DESC} [explain_type
]explainable_stmt
explain_type
: EXTENDED | PARTITIONS | FORMAT =format_name
format_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
выполняет оператор:
Когда Вы предшествуете оператору с ключевым словом EXPLAIN
, MySQL выводит на экран информацию от оптимизатора о плане
выполнения оператора. Таким образом, MySQL объясняет, как он обработал бы оператор, включая информацию о
том, как к таблицам присоединяются и в который порядок. EXPLAIN EXTENDED
может использоваться, чтобы получить дополнительную
информацию.
С MySQL 5.6.3, EXPLAIN
предоставляет информацию о SELECT
, DELETE
, INSERT
, REPLACE
,
и UPDATE
операторы. Перед MySQL 5.6.3, EXPLAIN
предоставляет информацию только о SELECT
операторы.
Для получения информации об использовании EXPLAIN
и EXPLAIN EXTENDED
чтобы получить информацию о плане выполнения запроса, см. Раздел
8.8.1, "Оптимизируя Запросы с EXPLAIN
".
EXPLAIN PARTITIONS
полезно только, исследуя запросы, включающие
разделенные таблицы. Для получения дополнительной информации см. Раздел
18.3.5, "Получая информацию О Разделах".
С MySQL 5.6.5, FORMAT
опция может использоваться,
чтобы выбрать выходной формат. TRADITIONAL
представляет вывод в табличном
формате. Это - значение по умолчанию если нет FORMAT
опция присутствует.
JSON
отформатируйте выводит на экран информацию в формате ДЖСОНА. С FORMAT = JSON
, вывод включает расширенный и информация о разделе.