【问题标题】:Why in postgres default indexing is on b tree and not B+ tree [duplicate]为什么在postgres中默认索引在b树而不是B+树上[重复]
【发布时间】:2019-11-18 17:07:42
【问题描述】:

到目前为止,我在 Postgres 的文档中看到,当我们想要索引某个列时,默认情况下会使用 B 树作为索引的数据结构,但 B+ 树比 B 树快得多,所以为什么默认索引是在 B 树上,而不是在 B+ 树上。

供参考(B+树如何更好):https://www.tutorialcup.com/dbms/b-tree.htm

所以我的问题是:为什么他们默认不使用 B+ 树进行索引。

【问题讨论】:

    标签: postgresql indexing b-tree


    【解决方案1】:

    我不是这方面的专家,但在 PostgreSQL 中使用 B+ 树而不是常规 B 树进行索引似乎没有什么好处。

    来自Wikipedia

    Postgres 中的普通(“btree”类型)索引不是 B+ 树。 B+ 树和 B-树之间的区别首先对于数据库索引来说是一种废话——索引本身的所有列都是查找键,它们在叶子上是相同的水平与任何其他水平一样。 record 本身通常存储在一个单独的结构中——在 Postgres 的情况下,它是表堆。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-06
      • 2016-03-16
      • 2011-08-31
      • 2012-06-26
      • 2021-06-07
      • 2015-04-25
      • 2011-01-30
      • 2014-09-20
      相关资源
      最近更新 更多