这是我正在研究的查询之一的 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 秒)
此输出中语句顺序的意义是什么? 这是否意味着表 5 在所有其他表之前被读取?
最佳答案
表按照 MySQL 在处理查询时读取它们的顺序列在输出中。你可以read more about the Explain plan output here .
此外,输出告诉我:
- 优化器认为查询中包含四 (4) 个 SELECT 语句。作为“简单”选择类型,这些查询不使用 UNION 或子查询。
- 其中两个语句可以使用索引(基于
type
列),它们是主键(基于key
列)。另外两个不能使用任何索引。
关于mysql - mysql解释输出中语句顺序的意义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3124100/