标签: language-agnostic data-structures relational-database
我想知道在大多数流行的关系数据库中使用了哪种数据结构(AVL,B-Tree等)。以及数据结构以何种方式优于其他类内数据结构?如果可能的话,一个小的比较可以帮助我很多!提前谢谢!
答案 0 :(得分:8)
它通常是B-tree或其变体,主要是因为它将节点打包成块,而不像AVL这样的二叉树。
B树的节点具有固定的最大大小,并且拥有多个键和多个指向子节点的指针,这意味着需要从磁盘检索更少的块以查找值(与二叉树相比)。
关于B+ trees的维基百科文章从其应用到数据库的角度有一个很好的介绍。
答案 1 :(得分:3)
对于SQL Server,有背景信息here。
答案 2 :(得分:1)
我会选择B +选择树,因为它适用于有效的插入,删除和范围查询,但如果数据库自创建以来未被更改,则需要SIMPLE LINEAR INDEX