博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql数据库索引简单原理
阅读量:4559 次
发布时间:2019-06-08

本文共 593 字,大约阅读时间需要 1 分钟。

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

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

B+树的新特性:

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

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

聚簇索引:

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

转载于:https://www.cnblogs.com/tianye8123/p/5936844.html

你可能感兴趣的文章
基本数据类型(数字和字符串)
查看>>
函数__装饰器
查看>>
linux system函数分析
查看>>
前端优化措施
查看>>
论学习汉语和学习编程的异同点
查看>>
linux img文件压缩及解压
查看>>
Linux 下的 scp
查看>>
理解同步,异步和延迟脚本
查看>>
Checklist: 2019 05.01 ~ 06.30
查看>>
Binary XML file : Error inflating class com.esri.android.map.MapView
查看>>
grep,awk和sed
查看>>
.NET Core WebAPI IIS 部署问题
查看>>
SystemTap 静态探针安装包
查看>>
redis五种数据类型的使用
查看>>
Form表单中的onClick,onSubmit和submit
查看>>
Python-SocketServer源码
查看>>
JavaScript-基本数据类型
查看>>
CentOS 7.3 实体机启动 U 盘制作
查看>>
dede调用文章里的图片
查看>>
windows 窗体基本控件
查看>>