Я занимаюсь секционированием в своем 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)
Очень хороший вопрос. Я не изучал влияние добавления третьего столбца в индекс дерева b, где этот столбец является единственным постоянным значением. –