我在postgres db中进行分区。根表类似于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)
答案 0 :(得分:0)
如果对人格 - 度量标准是唯一的,那么是的,基于这两列的主键更好。在任何情况下,主表的主键都不能传播到子表,因此包括键的日期是无用的。