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

时间:2017-12-25 21:18:01

标签: postgresql partitioning

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

由于

2 个答案:

答案 0 :(得分:1)

我认为你误读了这些文件。

如果使用分区,则禁用constraint_exclusion,否则在查询执行期间分区将无法获得任何优势,因为所有分区都将被扫描。

另一方面,如果您不使用分区,并且对状态中出现查询条件的表没有检查限制,则会节省一些计划时间来禁用constraint_exclusion

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

答案 1 :(得分:-1)

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