MYSQL explain详解
时间: 2023-11-14 18:52:34 浏览: 96
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命令可以帮助我们找到查询语句的性能瓶颈,并且可以优化查询语句,提高查询的性能。
阅读全文