type 引擎在表中找到所需行的方式 由差到好为:all(全表扫描),index(只遍历索引树),range(索引范围扫描,常见于between,>,< 等查询中),ref(非唯一性索引扫描),eq_ref(唯一性索引扫描),const / system(当MySQL对查询某部分进行优化,并转换为一个常量时,使用这些类型访问),null(MySQL在优化过程中分解语句,执行时甚至不用访问表或索引)
possible_keys 可供选择的索引
key 使用的索引
key_len 索引字节数的长度,数值越小,运行速度越快
ref 连接匹配条件,即哪些列或常量被用于查找索引列上的值
rows 返回的数据行数
filtered 被表条件过滤的行数的百分比
extra 额外信息 类型: using index(表示select操作中使用了覆盖索引),using where(mysql服务器在存储引擎受到记录后进行“后过滤“),using temporary(表示mysql需要使用临时表来存储结果集,常见于排序和分组查询), using filesort(mysql中无法使用索引完成的排序操作,成为“文件排序”)
注意: 通过key就能判断索引是否执行
优化mysql查询语句
不要在where条件语句 '=' 的左边进行函数,运算符或表达式的计算,如 select name from tb_user where age/2=20,因为索引不会生效(引擎会放弃使用索引,进行全表扫描)