mysql explain结果怎么看_mysql explain 查询处理的结果详解
时间: 2023-11-14 07:32:47 浏览: 157
MySQL的EXPLAIN命令可以帮助我们分析查询语句的执行计划,从而优化查询性能。EXPLAIN命令会返回一张表,表的每一行代表SQL查询语句中的一个操作步骤,每一列代表这个步骤的详细信息。
下面是EXPLAIN命令输出结果的每一列的含义:
1. id:查询的序列号,表示查询中每个子查询的执行顺序。如果是一个简单的查询,则id的值为1。
2. select_type:查询类型,表示查询的类型,例如简单查询、联合查询、子查询等。
3. table:表名,表示查询操作所涉及的表。
4. partitions:分区信息,表示查询操作所涉及的分区。
5. type:访问类型,表示查询时所使用的访问方式,例如全表扫描、索引扫描等。
6. possible_keys:可选索引,表示查询操作可能使用的索引。
7. key:实际使用的索引,表示查询操作实际使用的索引。
8. key_len:索引长度,表示索引中使用的字节数。
9. ref:关联列,表示索引和数据表之间的关联列。
10. rows:扫描的行数,表示查询操作扫描的行数。
11. filtered:过滤的行数,表示查询操作过滤掉的行数。
12. Extra:额外信息,表示其他的一些信息,例如使用了哪些临时表、使用了哪些文件排序等。
通过分析EXPLAIN命令的输出结果,我们可以了解查询语句的执行过程,找出性能瓶颈,从而优化查询性能。
相关问题
mysql Explain 详解
MySQL的EXPLAIN是一个非常有用的工具,可以帮助开发人员优化查询语句并提高查询性能。通过执行EXPLAIN,可以了解查询的执行计划、表之间的连接方式以及使用的索引等信息。下面是一份比较详细的MySQL Explain解释:
1. id:查询标识符,表示查询中的每个SELECT子句或操作的唯一编号。
2. select_type:查询类型,表示MySQL查询的类型,例如简单查询、联合查询、子查询等。
3. table:表名,表示查询的表名。
4. partitions:分区情况,表示查询时使用了哪些分区。
5. type:访问类型,表示MySQL在表中查找行的方式,包括系统常量等。
6. possible_keys:可选索引,表示MySQL可以使用哪些索引来执行查询。
7. key:实际使用索引,表示MySQL实际使用的索引。
8. key_len:使用索引的长度,表示MySQL使用的索引的长度。
9. ref:参考列,表示MySQL在使用索引时参考的列。
10. rows:扫描的行数,表示MySQL扫描了多少行数据。
11. filtered:过滤比例,表示MySQL过滤掉了多少数据。
12. Extra:附加信息,表示MySQL执行查询时使用的额外信息,例如排序、分组等。
需要注意的是,EXPLAIN并不是完全准确的,它只是根据MySQL的统计信息估算出查询语句的执行计划。因此,在优化查询语句时,需要结合实际情况进行分析和优化。
MYSQL explain详解
MySQL的EXPLAIN命令是一个非常重要的工具,用于优化查询语句的性能。当我们执行一个SELECT语句时,MySQL会对这个查询进行优化,生成一种最优的查询方案。EXPLAIN命令可以帮助我们查看MySQL优化查询的过程,并且可以让我们更好地理解查询的执行计划。
EXPLAIN命令显示了MySQL优化器如何处理一个SELECT语句。它会返回一张表格,其中包含了MySQL如何处理这个查询的详细信息。这个表格中的每一行都表示了一个查询执行计划中的步骤。
下面是EXPLAIN命令返回的表格中列的含义:
- id:查询执行的顺序,如果有子查询,那么id就是父查询id加上一个“.”再加上子查询的id,例如:1.1表示父查询id为1,子查询id为1。
- select_type:查询类型,包括SIMPLE、PRIMARY、SUBQUERY等。
- table:访问的表名。
- partitions:访问的分区。
- type:访问的类型,包括system、const、eq_ref、ref、range、index、all等,从最好到最差的访问方式排序为:system、const、eq_ref、ref、range、index、all。
- possible_keys:可能使用到的索引。
- key:实际使用的索引。
- key_len:使用的索引的长度。
- ref:使用的索引的引用,例如:表名.列名。
- rows:扫描的行数。
- filtered:查询返回的行数与扫描的行数的比例。
- Extra:附加信息,包括Using filesort、Using temporary等。
使用EXPLAIN命令可以帮助我们找到查询语句的性能瓶颈,并且可以优化查询语句,提高查询的性能。
阅读全文