关于MySQL中explain工具的使用

寻技术 Mysql 2023年07月11日 125

EXPLAIN 是 MySQL 提供的一种工具,用于分析查询语句的执行计划,即查询优化器是如何决定执行查询语句的。EXPLAIN可以帮助我们分析查询语句的性能瓶颈,找出问题所在,进而优化查询语句和数据库结构。

使用EXPLAIN非常简单,只需要在查询语句前面加上EXPLAIN关键字即可,如下所示:

explain select * from articles where url='csdn.com'

输出结果如下:(图片太长,这里切分成 2 张,实际上是一张)

输出结果详解:

  1. id:既是查询的标识符,表示查询中每个操作的唯一标识;也是执行查询的顺序,越大优先级越高。
  2. select_type:查询类型,表示查询的类型,如简单查询、联合查询、子查询等等。
  3. table:查询涉及的表名。
  4. partitions:查询涉及的分区名。
  5. type:访问类型,表示MySQL在表中查找所需行的方式,常用的有ALL、index、range、ref、eq_ref、const等等。
  6. possible_keys:可能使用的索引,表示查询语句中可能会使用到的索引。
  7. key:实际使用的索引,可以查看本次查询是否用到了索引。
  8. key_len:索引使用的字节数。
  9. ref:列与索引的比较条件。
  10. rows:扫描的行数,表示MySQL执行查询语句时需要扫描的行数,这个值越小越好。
  11. filtered:返回结果集的行数占扫描行数的百分比,值范围在0~100之间。
  12. Extra:包含MySQL在执行查询时的一些额外信息,如使用临时表、排序方式等等。

通过分析EXPLAIN的输出结果,我们可以确定查询语句的执行计划、执行效率和可能存在的问题,从而进行优化。

关闭

用微信“扫一扫”