索引的实现原理

索引底层采用的是 B-Tree,折半查询,二分查找
如果不使用索引,查询时会进行全表扫描(我们应该减少全表扫描)。
使用索引,会生成索引文件,如果有 1-11 的id的数据,会先判断与6相比(6是中间数据),之后再进行二分查找…
查找 11 次 就能找到 2 的 10 次方的数据 1024 个,查找 31 次 就能找到 2 的 30 次方的数据。

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用 B 树及其变种 B+ 树。
在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。
为表设置索引要付出代价:
- 一是增加了数据库的存储空间,
- 二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。
来源:https://blog.csdn.net/weixin_42112635/article/details/100532033