【发布时间】:2015-06-02 18:25:09
【问题描述】:
我正在我的 postgres 数据库中进行分区。根表类似于 kpis_weekly(date, personid, metric, value),分区表是 kpis_weekly_yyyymmdd,继承自 kpis_weekly 表。 我将子表的主键设置为(personid, metric),因为在同一个分区表中日期总是相同的。
这是正确的做法吗?或者我应该在 (date, personid, metric) 上创建主键,尽管日期在同一个分区表中是“恒定的”。
我们通常在这张表上运行的查询是这样的:
select *
from kpis_weekly
where date = '2011-02-20'
and personid = 50
select *
from kpis_weekly
where date = '2011-02-20'
and metric = 'centrality'
and personid in ( 50, 82, 10, 14, 22, 36)
【问题讨论】:
-
非常好的问题。我还没有探讨将第三列添加到该列是单个常量值的 b 树索引的影响。
标签: postgresql indexing partitioning