查看执行计划的目的:优化sql性能
测试版本:mysql5.7
首推官网文档,有对照表:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html
测试表结构:
CREATE TABLE `test` (
`index1` int(11) NOT NULL,
`index2` int(11) NOT NULL,
`value` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`index1`,`index2`),
KEY `value` (`value`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
测试表数据:
生成执行计划,只需要在语句前面加上关键词EXPLAIN
情况一:使用了主键索引
情况二:使用了普通索引
id : 查询标识符
select_type : 查询类型
table : 查询的表名
partitions : 匹配的分区
type : 连接类型(这一列很重要)
possible_keys : 可能用到的索引
key : 实际用的索引(这一列很重要)
key_len : 使用的索引的长度
ref : The columns compared to the index
rows : 估计要检索多少行数据
filtered : 根据查询条件过滤了百分多少的数据
Extra : 附加信息
原文出自:http://blog.csdn.net/daiyudong2020/article/details/72232051
End;