主键是否应包含在常规索引中

haz*_*nli 0 sql-server indexing

关于MS SQL-Server,是表的主键列,包含在该表的常规非唯一索引中?

如果没有,将它包含在索引中是否有意义?

create table dbo.People (
PK_PersonId int not null,
PersonName nvarchar (100),
Bunch of Other Fields
,
Run Code Online (Sandbox Code Playgroud)

所以在PersonName上创建索引时,添加主键列PK_PersonId是否有意义?

SQL*_*ace 7

在SQL Server中创建PK时,默认情况下会在这些列上创建聚簇索引

当你创建一个非聚集索引时,它指向聚簇索引,或者如果你没有聚簇索引(你的表是一个堆),它指向一个带有行定位器的表

换句话说,非聚集索引已经具有PK值