我在阅读有关于PostgreSQL中BRIN索引的内容,看起来它对我们使用的许多表格都有好处。
但是,在一个已经是主键的列上应用它时,添加单独的索引会抵消索引的部分优势,即节省空间。
主键会隐式索引,不是吗?在这个问题上,可以使用BRIN代替Btree吗,假设Btree也是隐式的?
我尝试了此操作,如预期的那样,没有成功:
create table foo (
id integer,
constraint foo_pk primary key using BRIN (id)
)
所以,有两个问题:
- BRIN索引可以用于主键吗?
- 如果不行,如果我既有主键又有单独的BRIN索引(如果性能对我更重要),计划器是否会选择更合适的那一个?
当然,我的理解可能不完全正确,如果是这样,我会感激任何启示。