论 数据库 B Tree 索引 在 固态硬盘 上 的 离散存储

传统的作法 , 数据库 的 B Tree 索引 在 磁盘上是 顺序存储 的 , 这是考虑到 磁盘 机械读写 的 特性 。 数据库

实际上 , B Tree 是一个 树形结构 , 能够采用 链式 存储 , 就是像 链表 那样 。 而 链式存储 就是 离散存储 。并发

固态硬盘 是 电子读写 , 因此 随机读写 和 顺序读写 的效率是同样的 。大数据

因此 , 在 固态硬盘 上 , B Tree 索引 能够 采用 链式存储(离散存储) 的 方式 。.net

 

我以前说 数据库的瓶颈在于 大数据量频繁 Insert 索引排序 , 实际上 不是 排序 , 而是在索引中 插入一个新项 时 , 新项 以后 的 原有的 索引项 所有要 向后 移动 。blog

就至关因而 线性表 插入元素 。 表的数据量大时 , 这个花费时间很大 。排序

 

若是 采用 链式存储 , 那么在 索引 里 插入一项 至关于 链表 插入一个 节点 , 时间复杂度 为 1 。  索引

这样就 大大提升了效率 。 能够大大的提升 大并发 大数据量 Insert update delete 的 处理速度 。内存

咱们能够参考这篇文章  “内存是硬盘 , 硬盘是磁带”      https://blog.csdn.net/u013613428/article/details/55259924get

相关文章
相关标签/搜索