码迷,mamicode.com
首页 > 数据库 > 详细

mysql数据库索引简单原理

时间:2016-10-07 23:02:52      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

今天主要介绍的MySQL版本是5.6以后,官方已经默认innodb为默认的存储引擎,几乎99%的场景都可以用innodb引擎。

  innodb索引引擎实现的数据结构是B+树,B并不是代表二叉树,而是代表的平衡,注意:B+树索引能够找到的只是被查找数据行所在的页,然后数据库通过把页读入内存,再内存中进行查找然后查到数据。

B+树的新特性:

  所有的记录都是在叶子节点,并且顺序排放,一般来说B+树的插入必须是连续的排放,叶子节点是以页为单位,如果数据不是有顺序的,B+树为了维持索引的有序性,会进行大量的页分裂,造成大量的资源的浪费,所以,一般选择innodb的主键是整型且无关业务。

  B+树在数据库中有一个特性在于它的高扇出性,所以B+树的高度一般在2-3层,也就是寻找某一个键值,最多进行2-3的IO,一般时间只需要0.02秒

聚簇索引:

  聚簇索引是按照主键构造的一颗B+树,在叶子节点中包含所有的行数据,一般情况,查询优化器非常倾向于采用聚簇索引,因为聚簇索引能够直接在叶子节点找到数据,不需要回行查找,除了主键的其他索引,我们称之为辅助索引,页面级别并不包含全部的数据,全部的数据只在主键那里,叶子节点包含的是该键值和对应的主键,通过找到主键进行找到行数据,

mysql数据库索引简单原理

标签:

原文地址:http://www.cnblogs.com/tianye8123/p/5936844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!