Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 主键的子集是否自动编制索引?_Database_Primary Key_H2 - Fatal编程技术网

Database 主键的子集是否自动编制索引?

Database 主键的子集是否自动编制索引?,database,primary-key,h2,Database,Primary Key,H2,在上表中,单独的属性PKSubset和PKSubset2是否会自动索引,因为它们是主键的一部分?或者只是索引了整个主键(PKSubset,PKSubset2) 对于不同的数据库,答案可能不同,我对H2数据库的情况特别感兴趣。然而,其他数据库的答案是欢迎和赞赏的 从该部分: 索引使用 该数据库使用索引来提高选择、更新和删除的性能。如果查询的WHERE子句中使用了一列,并且该列上存在索引,则可以使用该索引。如果使用了索引的所有列或第一列,则使用多列索引 这对于大多数RDBMS来说是相当典型的。复合主

在上表中,单独的属性PKSubset和PKSubset2是否会自动索引,因为它们是主键的一部分?或者只是索引了整个主键(PKSubset,PKSubset2)

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

从该部分:

索引使用 该数据库使用索引来提高选择、更新和删除的性能。如果查询的WHERE子句中使用了一列,并且该列上存在索引,则可以使用该索引。如果使用了索引的所有列或第一列,则使用多列索引

这对于大多数RDBMS来说是相当典型的。复合主键只有一个索引,但此索引可用于查找
PKSubset
列,或同时查找
PKSubset
PKSubset2
用于单独查找
PKSubset2

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