Каково значение порядка операторов в mysql, объясняет вывод?

Это - mysql, объясняет план относительно одного из запроса, который я изучаю.

+----+-------------+--------+-------+---------------+---------+---------+------+------+-------+
| id | select_type | table  | type  | possible_keys | key     | key_len | ref  | rows | Extra |
+----+-------------+--------+-------+---------------+---------+---------+------+------+-------+
|  1 | SIMPLE      | table2 | index | NULL          | PRIMARY | 4       | NULL |    6 |       | 
|  1 | SIMPLE      | table3 | ALL   | NULL          | NULL    | NULL    | NULL |   23 |       | 
|  1 | SIMPLE      | table1 | ALL   | NULL          | NULL    | NULL    | NULL |    8 |       | 
|  1 | SIMPLE      | table5 | index | NULL          | PRIMARY | 4       | NULL |    1 |       | 
+----+-------------+--------+-------+---------------+---------+---------+------+------+-------+

4 строки в наборе (0 секунд)

Каково значение порядка операторов в этом выводе? Это означает, что table5 читается перед всеми другими?

7
задан OMG Ponies 26 June 2010 в 14:01
поделиться

1 ответ

Таблицы перечислены в выводе в том порядке, в котором MySQL считывал их при обработке запроса. Вы можете прочитать больше о выводе плана Explain здесь.

Кроме того, результат говорит мне:

  • Оптимизатор увидел, что запрос содержит четыре (4) оператора SELECT. Будучи "простым" типом select, эти запросы не используют UNION или подзапросы.
  • Два из этих операторов могли использовать индексы (на основе столбца type), которые были первичными ключами (на основе столбца key). Два других не могли использовать никаких индексов.
4
ответ дан 7 December 2019 в 14:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: