SQL
ОБЪЯСНЕНИЕ И ОПИСАНИЕ
Поиск…
DESCRIBE tablename;
DESCRIBE
и EXPLAIN
являются синонимами. DESCRIBE
в tablename возвращает определение столбцов.
DESCRIBE tablename;
Exmple Результат:
COLUMN_NAME COLUMN_TYPE IS_NULLABLE COLUMN_KEY COLUMN_DEFAULT EXTRA
id int(11) NO PRI 0 auto_increment
test varchar(255) YES (null)
Здесь вы видите имена столбцов, за которыми следует тип столбцов. Он показывает, разрешено ли null
в столбце, и если столбец использует индекс. также отображается значение по умолчанию, и если таблица содержит какое-либо особое поведение, такое как auto_increment
.
Выберите EXPLAIN Выберите запрос
Explain
infront запроса select
показывает вам, как будет выполняться запрос. Таким образом, вы увидите, использует ли запрос индекс или если вы можете оптимизировать свой запрос, добавив индекс.
Пример запроса:
explain select * from user join data on user.test = data.fk_user;
Пример результата:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE user index test test 5 (null) 1 Using where; Using index
1 SIMPLE data ref fk_user fk_user 5 user.test 1 (null)
по type
вы видите, использовался ли индекс. В столбце possible_keys
вы видите, может ли план выполнения выбрать из разных индексов, если он не существует. key
указывает вам используемый acutal индекс. key_len
показывает размер в байтах для одного элемента индекса. Чем ниже это значение, тем больше элементов индекса вписывается в один и тот же размер памяти, и их можно быстрее обрабатывать. rows
показывают ожидаемое количество строк, которые требуется сканировать для запроса, чем ниже, тем лучше.