一、索引是什么?
索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。而且是实现了高级查找算法的数据结构,索引一般以文件形式存储在磁盘上,索引检索需要磁盘I/O操作。
文章视频讲解:后端开发中MySQL InnoDB 索引以及事务
C/C++ Linux服务器开发高级架构免费学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台架构师
二、为什么要使用索引?
- 索引能极大的减少存储引擎需要扫描的数据量。
- 索引可以把随机IO变成顺序IO。
- 索引可以帮助我们在进行分组、排序等操作时,避免使用临时表。
三、磁盘存取原理
磁盘存取有以下特点:
- 寻道时间(速度慢,费时);
- 旋转时间(速度较快);
- 预读:长度为页的整倍数( 主存和磁盘以页为单位交换数据,一页4K);
- 空间连续性原理:被访问的数据,其所在的位置周围的数据也有更高的可能性被访问。

四、索引是什么实现的?
Indexes是第三方公司提供的可插拔的插件式存储引擎。
MySQL结构体系:

本文详细介绍了MySQL中索引的概念、作用,以及为何选用B+树作为索引结构。讨论了Hash索引、二叉树、B-树的优缺点,并深入解析了B+树的特性,包括其在MyISAM和InnoDB存储引擎中的实现方式。此外,还提出了在创建索引时的注意事项,如联合索引的选择原则、覆盖索引等。
最低0.47元/天 解锁文章
804

被折叠的 条评论
为什么被折叠?



