【发布时间】:2019-10-24 20:56:41
【问题描述】:
我正在阅读 PostgreSQL 中的 BRIN 索引,它似乎对我们使用的许多表都有好处。
也就是说,它很好地适用于已经是主键的列,在这种情况下,添加单独的索引将抵消索引带来的部分好处,即节省空间。 p>
PK 是隐式索引的,不是吗?关于这一点,假设 Btree 也是隐式的,是否可以使用 BRIN 而不是 Btree 来完成?
我试过了,果然没用:
create table foo (
id integer,
constraint foo_pk primary key using BRIN (id)
)
那么,两个问题:
- 可以在 PK 上使用 BRIN 索引吗?
- 如果不是,如果我同时拥有 PK 和单独的 BRIN 索引(如果性能对我来说比空间更重要),那么规划者会选择两者中更合适的一个吗?
当然,我对此的理解可能不完整,在这种情况下,我将不胜感激。
【问题讨论】:
标签: postgresql indexing primary-key