MySQL索引原理和慢查询优化

MySQL用的是B+ tree索引。数据是存储在磁盘上的,所以如果是索引是基于二叉树的话,这样涉及到很多次的磁盘I/O,I/O次数取决于树的高度,大大降低了查询的速度。使用B+树这种多路搜索树结构,可以三次I/O实现百万级数据的查询。

建立索引的原则:

最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。

 

 

参考链接:

http://tech.meituan.com/mysql-index.html

posted on 2016-12-14 11:58  touchdown  阅读(262)  评论(0编辑  收藏  举报

导航