我是否应该在具有重复值的列上创建索引以及查找位置
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 的第一条评论是正确的:通过你的设置,你的基数降低了,但这并不意味着它不是胜利。
总之,试试看吧。没有比您自己的数据集和访问模式给您更好的答案了。
我有一个物化视图(非常类似于 table),我需要在其中进行 where in
类查询。
我要查询的列(比如view_id
)肯定有重复(15-20)。
where in
查询也会非常大,即 - 它会包含很多 view_id
查询。
我应该继续在此列上创建索引吗? 它会给我一些性能改进吗?
我还有另一列可以帮助我拥有多列索引(唯一)。这应该是更好的选择吗?
对于诸如此类关于性能的问题,除了用您的具体案例进行测试之外别无他法。尝试它没什么坏处(即使在生产系统上,但如果可以的话,请使用测试系统!),除了可能 降低 性能,直到你撤消你所做的。 Postgres 使这种修补变得安全。
@tim-biegeleisen 的第一条评论是正确的:通过你的设置,你的基数降低了,但这并不意味着它不是胜利。
总之,试试看吧。没有比您自己的数据集和访问模式给您更好的答案了。