【问题标题】:What is the significance of the order of statements in mysql explain output?mysql解释输出中语句顺序的意义是什么?
【发布时间】:2010-06-26 13:56:42
【问题描述】:

这是我正在调查的查询之一的 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 在所有其他人之前被读取?

【问题讨论】:

    标签: mysql sql-execution-plan


    【解决方案1】:

    这些表按照 MySQL 在处理查询时读取它们的顺序在输出中列出。你可以read more about the Explain plan output here

    另外,输出告诉我:

    • 优化器认为查询中有四 (4) 个 SELECT 语句。作为“简单”选择类型,这些查询不使用 UNION 或子查询。
    • 其中两个语句可以使用索引(基于type 列),它们是主键(基于key 列)。另外两个不能使用任何索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-18
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      • 1970-01-01
      相关资源
      最近更新 更多