MySQL 提供了一个EXPLAIN命令,它可以对SELECT语句进行分析,并输出SELECT执行的详细信息, 以供开发人员针对性优化。
本文介绍它的使用,及如何分析输出。

使用

使用很简单,在sql语句前面加上explain关键词即可,或者使用类似navicat等可视化工具,自带的解释。

1
explain SELECT * FROM user_info where user_account like 'lisi%'

输出字段的介绍

explain的输出如下:

各列的含义:

  • id:select查询的标识符,自动分配的;
  • select_type:select查询的类型;
  • table:表名
  • partitions:匹配的分区;
  • type:join类型
  • possible_keys:此次查询中可能选用的索引
  • key:此次查询确切用到的索引
  • ref:哪个字段或常数与key一起被使用
  • rows:显示此查询一共扫描多少行,是个估计值
  • filtered:表示此查询条件所过滤的数据的百分比
  • extra:额外的信息