MySQL索引原理和慢查询优化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于MySQL索引原理和慢查询优化的主要内容,如果未能解决你的问题,请参考以下文章

MySQL索引原理和慢查询优化

Mysql的索引和慢查询优化

Mysql的索引和慢查询优化

Mysql的索引和慢查询优化

41 MYSQL 索引和慢查询优化

mysql数据库优化之表的设计和慢查询定位