使用explain关键字可以直观的查看一条SQL语句的执行计划,可以帮助我们选择合适的索引和优化SQL语句,查询结构总共有12列。下面列举几种需要重点掌握的:
1.id
select的标识符,id越大,表示优先级越高,越先执行。
2.select_type
表示查询中每个select子句的类型。
- simple表示简单的查询。
- primary表示最外面的select。
- subquery表示第一个子查询。
3.table
表示所引用的表。
4.type
表示在表中找到所需行的方式,最差是ALL,表示全表扫描,最好达到ref,表示查找范围缩小为前一个子查询返回的数据。
5.key
显示实际使用到的索引,没有使用索引为null。
6.rows
查询出结果所扫描的行数。
7.filtered
表示返回的结果行数占实际扫描的行数的百分比。
8.extra
查询过程的详细信息。