我正在使用PostgreSQL 8.1,我有一个包含3个元素的复合主键的表,没有其他索引:
主键(el1、el2、el3)
如果我执行select操作,比如select*FROM table WHERE el1 IN(…),该操作会考虑到主键包含el1这一事实,还是会因为没有索引可以帮助而变慢?
谢谢。
最佳答案
根据PostgreSQL documentation:
多列B树索引可以与以下查询条件一起使用
包含索引列的任何子集,但索引是
当前导(最左边)有限制时有效
柱。确切的规则是,在
列,加上第一列上的任何不等式约束
没有相等约束,将用于限制
扫描的索引。
您还可以尝试对查询运行解释计划以确定此行为。