PostgreSQL:什么时候应该设置constraint_exclusion?

问题描述 投票:0回答:2

从官方document,似乎“关闭”将花费大量时间来检查分区和非分区表来执行计划。在这种情况下,为什么我们有关闭模式?

谢谢

postgresql partitioning
2个回答
1
投票

我认为你误读了文档。

如果使用分区,则不应禁用constraint_exclusion,否则在查询执行期间分区不会带来任何好处,因为将始终扫描所有分区。

另一方面,如果您不使用分区,并且对于其条件在查询中定期出现的表没有检查约束,则会节省一些计划时间来禁用constraint_exclusion

如果有疑问,请坚持使用默认值(通常是个好主意)。


-1
投票

这是9.1文档。在版本中,分区不完整。您必须编写一个触发器来分隔多个分区中的数据。如果您不确定该触发器,则必须关闭constraint_exclusion

© www.soinside.com 2019 - 2024. All rights reserved.