我是否应该在具有重复值的列上创建索引以及查找位置

Should I create an index on a column with repetitive values and where in lookup

我有一个物化视图(非常类似于 table),我需要在其中进行 where in 类查询。 我要查询的列(比如view_id)肯定有重复(15-20)。

where in 查询也会非常大,即 - 它会包含很多 view_id 查询。

我应该继续在此列上创建索引吗? 它会给我一些性能改进吗?

我还有另一列可以帮助我拥有多列索引(唯一)。这应该是更好的选择吗?

对于诸如此类关于性能的问题,除了用您的具体案例进行测试之外别无他法。尝试它没什么坏处(即使在生产系统上,但如果可以的话,请使用测试系统!),除了可能 降低 性能,直到你撤消你所做的。 Postgres 使这种修补变得安全。

@tim-biegeleisen 的第一条评论是正确的:通过你的设置,你的基数降低了,但这并不意味着它不是胜利。

总之,试试看吧。没有比您自己的数据集和访问模式给您更好的答案了。