MSSQL: 主键是否也是索引?(mssql主键是索引吗)

MSSQL中,主键是否也是索引?

答案是肯定的,MSSQL中的主键除了满足主键的唯一性约束外,也满足索引约束的功能。 主键的典型作用是保证表或组合表中记录的唯一性。若要在表中加入主键,则必须制定一个索引且其索引必须包含主键中定义的列。SQL服务器不允许添加联合主键,仅允许添加单列索引(立即更新索引)或多列索引(延迟更新索引)以保持主键操作。

MSSQL中创建主键一般有两种方法,一种是使用SQL语句创建,另一种是使用MSSQL提供的构造函数创建。

使用SQL语句创建:

CREATE TABLE tablename (

z1 INT,

z2 INT,

PRIMARY KEY (z1, z2)

);

使用MSSQL提供的构造函数创建主键:

ALTER TABLE tablename

ADD CONSTRAINT constraint_name PRIMARY KEY (z1, z2);

无论哪种方法,都能创建出一个唯一性的索引,这就是主键。将主键设置为索引,可以大大提高数据库的查询性能,及防止数据重复的情况发生,由此可见,主键也是一个索引,从功能上来说,它们是一模一样的。


数据运维技术 » MSSQL: 主键是否也是索引?(mssql主键是索引吗)