PRIMARY KEY的SUBSET是否自动编入索引?

时间:2014-02-03 11:32:17

标签: database primary-key h2

MyTable (
    PKSubset INTEGER UNSIGNED,
    PKSubset2 SMALLINT UNSIGNED,
    NonPkAttribute TINYINT UNSIGNED NOT NULL,
    CONSTRAINT pk_mytbl PRIMARY KEY (PKSubset, PKSubset2),
)

鉴于上面的表,PKSubset和PKSubset2的各个属性是否自动编入索引,因为它们是主键的一部分?或者只是索引的整个主键(PKSubset,PKSubset2)?

对于不同的数据库,答案可能不同,我对H2数据库的情况特别感兴趣。但是,欢迎并赞赏其他数据库的答案!

1 个答案:

答案 0 :(得分:2)

来自Database Performance Tuning部分:

  

索引使用

     

此数据库使用索引来提高SELECT,UPDATE,DELETE的性能。如果在查询的WHERE子句中使用了列,并且此列上存在索引,则可以使用索引。如果使用索引的所有或第一列,则使用多列索引。

对于大多数RDBMS来说,这是相当典型的。您只获得一个复合主键的索引,此索引可用于PKSubset上的查询{em>或 PKSubset PKSubset2列; 仅适用于PKSubset2上的查询。