MySQL EXPLAIN结果集分析 - 附带大量案例
|
当使用=、<>、>、>=、<、<=、IS NULL、<=>、BETWEEN或者IN操作符,用常量比较关键字列时,可以使用range
前提条件为bnet_id列有索引 index: 在进行统计时非常常见,此联接类型实际上会扫描索引树
all: 对于每个来自于先前的表的行组合,进行完整的表扫描,通常可以增加更多的索引而不要使用ALL,使得行能基于前面的表中的常数值或列值被检索出
5、possible_keys possible_keys是指在这个SQL中,mysql可以使用这个索引去辅助查找记录,当查询涉及到的字段,都会被列出,但不一定被查询使用.若为空则表示没有可以使用的索引,此时可以通过检查where语句看是否可以引用某些列或者新建索引来提高性能。 6、key(重要) key列显示的是当前表实际使用的索引,如果没有选择索引,则此列为null,要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE INDEX或者IGNORE INDEX 7、key_len key_len列显示MySQL决定使用的键长度。如果KEY键是NULL,则长度为NULL。在不损失精确性的情况下,长度越短越好 key len的长度还和字符集有关,latin1一个字符占用1个字节,gbk一个字符占用2个字节,utf8一个字符占用3个字节。key_len的计算法方法: key_len只指示了where中用于条件过滤时被选中的索引列,是不包含order by或group by这一部分被选中的索引列 8、ref ref列用来显示使用哪个列或常数与key一起从表中选择相应的行。它显示的列的名字(或const),此列多数时候为null 9、rows rows列显示的是mysql解析器认为执行此SQL时必须扫描的行数。此数值为一个预估值,不是具体值,通常比实际值小 10、filtered 此参数为mysql 5.7 新加参数,指的是返回结果的行数所占需要读到的行(rows的值)的比例 对于使用join时,前一个表的结果集大小直接影响了循环的行数 11、extra(重要) extra表示不在其他列并且也很重要的额外信息 (编辑:泉州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 为什么Zookeeper天生就是一副分布式锁的胚子?
- html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画
- Redis为何这么快——数据存储角度
- 数据库SQL学习的经典案例:学生专业老师分数表的操练
- HDS为Equinix数据中心提供Caas解决方案
- mysql dba体系进修(9)slow query log慢查询日记成果
- 面试官出的MySQL索引问题,这篇文章全给你解决!
- Mysql学习VMware中Linux共享mysql数据库的方法
- HTML5 HTMLCollection和NodeList的区别详解
- 使用mysqladmin命令设置:mysqladmin u rasp站长网 www.asp


