mysql中explain列的含义
时间: 2023-07-12 08:04:01 浏览: 109
在MySQL中,使用EXPLAIN关键字可以查看查询语句的执行计划,返回的结果是一张表格,表格中的每一列都包含着重要的信息。下面是各个列的含义:
1. id:标识每个执行步骤的序号,序号从1开始递增,执行步骤按照序号从小到大的顺序执行。
2. select_type:表示查询的类型,包括:SIMPLE、PRIMARY、SUBQUERY、DERIVED、UNION、UNION RESULT等。
3. table:表示查询所涉及的表名。
4. partitions:表示查询所涉及的分区。
5. type:表示访问表的方式,包括:ALL、index、range、ref、eq_ref、const、system、null等。其中,ALL表示全表扫描,是最慢的一种方式;index表示使用索引进行扫描;range表示使用索引范围查找;ref表示使用非唯一索引查找;eq_ref表示使用唯一索引查找;const表示在查询时使用了常量;system表示只有一行记录满足条件,是最快的一种方式;null表示没有访问任何表。
6. possible_keys:表示查询时可能使用的索引,多个索引用逗号隔开。
7. key:表示查询时实际使用的索引,如果为NULL,则表示没有使用索引。
8. key_len:表示索引中使用的字节数,越小越好。
9. ref:表示使用哪个列或常量与索引进行匹配。
10. rows:表示MySQL估计需要扫描的行数。
11. filtered:表示返回结果的行数占查询结果集的比例。
12. Extra:表示查询执行的额外信息,包括:Using filesort、Using temporary等。
以上是EXPLAIN命令返回表格中各个列的含义,这些信息可以帮助开发人员判断查询语句的性能是否达到了预期,并进行必要的优化。
阅读全文