数据库索引
索引简单讲 就是数据库本身数据结构不适合各种搜索算法 也就是数据库提供给搜索算法的数据结构
- Hash索引
- B+ 索引
关于数据库索引参考以下博客
为啥不用红黑树等结构,偏要用B+树做索引
B树 B+树的存在就是为了提升数据库索引速度
必须要提到 局部性原理与磁盘预读
当一个数据被用到时,其附近的数据也通常会马上被使用程序运行期间所需要的数据通常比较集中
为了提升效率,要尽量减少磁盘IO的次数。实际过程中,磁盘并不是每次严格按需读取,而是每次都会预读。磁盘读取完需要的数据后,会按顺序再多读一部分数据到内存中
红黑树在数据量多的时候 深度会很深,而且虽然相邻节点的逻辑距离近但是在磁盘上的距离可能很远,可能要等待多次io,并且每次读取的数据并不一定用到
B树每个节点存储一次IO磁盘的扇叶大小数据
B+树叶子节点才存储数据,每个叶子节点间有连接,支持范围搜索
详细参考一下博客