postgresql - 为什么在 postgres 中默认索引在 b 树而不是 B+ 树上
问题描述
到目前为止,我在 Postgres 的文档中看到,当我们想要索引某个列时,它默认使用 B 树作为索引的数据结构,但是 B+ 树比 B 树快得多,所以为什么默认索引在 B 树上而不是在 B+ 树上。
供参考(B+ 树如何更好):https ://www.tutorialcup.com/dbms/b-tree.htm
所以我的问题是:为什么他们默认不使用 B+ 树进行索引。
解决方案
我不是这方面的专家,但在 PostgreSQL 中使用 B+ 树而不是常规 B 树进行索引似乎没有什么好处。
来自维基百科:
Postgres 中的普通(“btree”类型)索引不是 B+ 树。B+ 树和 B 树之间的区别首先对于数据库索引来说是一种废话——索引本身的所有列都是查找键,它们在叶级别与任何其他级别相同。记录本身通常存储在一个单独的结构中——在 Postgres 的情况下,它是表堆。
推荐阅读
- excel - 基于具有条件格式的单元格公式的单元格着色器
- algorithm - 算法 - 花费最少的时间来产生最大量的 MB
- c++ - Qt HighDPI 缩放,但请不要在 QOpenGLWidget 中
- python - 'SyntaxError: multiple statements found while compiling a single statement' Python IDLE Shell 3.9.4 while importing random
- mysql - 如何在mysql表中找到没有用户?
- flutter - 如何使用 Flutter 的 bluetooth_thermal_printer 库将老挝语打印到热敏打印机
- c++ - 如何避免 protobuf 反射 SetString() 上的 std::string 复制?
- c# - 不断收到 System.Windows.Automation.ElementNotAvailableException
- python - 如何创建评分系统
- node.js - 文件在 express (node.js) 中对服务器不公开