【发布时间】:2014-08-09 16:21:28
【问题描述】:
我有一个 Postgres 表,从中创建了大约 1000 个继承表用于分区数据。
每个继承的表都有一个名为 capture_time 的时间戳列的约束
capture_time>=X and capture_time<Y
每个继承表的 X 和 Y 都不同,并形成连续、不重叠的范围。
因此,当我运行指定capture_time between t1 and t2 的查询时,我希望Postgres 通过查看表约束来知道哪些表(分区)不包含正在查询的数据。但是解释输出告诉我 Postgres 正在扫描所有表(分区)。
如何让 Postgres 只扫描相关表?
【问题讨论】:
标签: sql performance postgresql partitioning