在大多数流行的数据库中使用哪种数据结构?

时间:2010-10-25 14:51:45

标签: language-agnostic data-structures relational-database

我想知道在大多数流行的关系数据库中使用了哪种数据结构(AVL,B-Tree等)。以及数据结构以何种方式优于其他类内数据结构?如果可能的话,一个小的比较可以帮助我很多!提前谢谢!

3 个答案:

答案 0 :(得分:8)

它通常是B-tree或其变体,主要是因为它将节点打包成块,而不像AVL这样的二叉树。

B树的节点具有固定的最大大小,并且拥有多个键和多个指向子节点的指针,这意味着需要从磁盘检索更少的块以查找值(与二叉树相比)。

关于B+ trees的维基百科文章从其应用到数据库的角度有一个很好的介绍。

答案 1 :(得分:3)

对于SQL Server,有背景信息here

答案 2 :(得分:1)

我会选择B +选择树,因为它适用于有效的插入,删除和范围查询,但如果数据库自创建以来未被更改,则需要SIMPLE LINEAR INDEX