EXPLAIN 是 MySQL 提供的一种工具,用于分析查询语句的执行计划,即查询优化器是如何决定执行查询语句的。EXPLAIN可以帮助我们分析查询语句的性能瓶颈,找出问题所在,进而优化查询语句和数据库结构。
使用EXPLAIN非常简单,只需要在查询语句前面加上EXPLAIN关键字即可,如下所示:
explain select * from articles where url='csdn.com'
输出结果如下:(图片太长,这里切分成 2 张,实际上是一张)
输出结果详解:
- id:既是查询的标识符,表示查询中每个操作的唯一标识;也是执行查询的顺序,越大优先级越高。
- select_type:查询类型,表示查询的类型,如简单查询、联合查询、子查询等等。
- table:查询涉及的表名。
- partitions:查询涉及的分区名。
- type:访问类型,表示MySQL在表中查找所需行的方式,常用的有ALL、index、range、ref、eq_ref、const等等。
- possible_keys:可能使用的索引,表示查询语句中可能会使用到的索引。
- key:实际使用的索引,可以查看本次查询是否用到了索引。
- key_len:索引使用的字节数。
- ref:列与索引的比较条件。
- rows:扫描的行数,表示MySQL执行查询语句时需要扫描的行数,这个值越小越好。
- filtered:返回结果集的行数占扫描行数的百分比,值范围在0~100之间。
- Extra:包含MySQL在执行查询时的一些额外信息,如使用临时表、排序方式等等。
通过分析EXPLAIN的输出结果,我们可以确定查询语句的执行计划、执行效率和可能存在的问题,从而进行优化。
版权声明:除特别声明外,本站所有文章皆是本站原创,转载请以超链接形式注明出处!