postgres中表继承所需的索引?

时间:2010-07-29 21:18:07

标签: postgresql inheritance indexing unique

这是一个相当简单的问题,但我找不到合适的答案。

我在PostgreSQL中有一个父表,然后是几个已定义的子表。已建立触发器,如果​​字段 x 符合某个条件,则子表仅插入数据。

当我使用基于 x 的字段查询父表时,PostgreSQL知道立即转到与 x 的特定值相关的子表。

总而言之,我不需要在列 x 上指定特定索引吗? PostgreSQL已经知道如何对它进行排序,并且通过向父 x 添加索引,PostgreSQL因此为每个新的子表在 x 上生成唯一索引。

创建该索引有点多余,对吧?

1 个答案:

答案 0 :(得分:3)

在子表上为x创建索引,如果x只有一个值(或非常非常少量的值),如果可能是丢失,是的。无论如何,计划者将扫描整个桌子。

如果x是时间戳,并且您指定的时间范围可能不是整个分区,或者x是另一个范围或一组值,则索引最有可能获胜。

编辑:当我说出一个值或一系列值时,我的意思是,每个子表。