到目前为止,我在Postgres的文档中看到的是,当我们要为某个列建立索引时,默认情况下它将使用B树作为索引的数据结构,但是B +树比B树快得多,所以为什么默认索引是在B树上而不在B +树上。
供参考(B +树如何更好):https://www.tutorialcup.com/dbms/b-tree.htm
所以我的问题是:为什么他们默认不使用B +树进行索引。
答案 0 :(得分:0)
我不是该领域的专家,但是使用B +树而不是常规B树来在PostgreSQL中建立索引似乎无济于事。
来自Wikipedia:
Postgres中的普通(“ btree”类型)索引不是B +树。首先,对于数据库索引,B +树和B树之间的区别是胡说八道-索引本身中的所有列 是查找键,并且它们在叶上都是相同的级别与其他任何级别一样。 record 本身通常存储在单独的结构中-对于Postgres,它是表堆。