当我在列'FirstName'上创建主键时,是否为该列自动创建了聚簇索引?
答案 0 :(得分:1)
是 - 这是默认的SQL Server行为。
不一定是这样 - 如果您使用T-SQL脚本创建PK,您还可以选择将其设为非群集 PK并将群集密钥放在另一个上列。
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable
PRIMARY KEY NONCLUSTERED(FirstName)
CREATE CLUSTERED INDEX CIX_YourTable
ON dbo.YourTable(SomeOtherColumn)
在这种情况下,FirstName
将是您桌面上的(非群集)主键,而SomeOtherColumn
将是同一个表的群集键。
答案 1 :(得分:1)
取决于您在创建密钥时指定的内容。 SQL Server会自动为键约束创建索引,但作为约束语法的一部分,您可以指定CLUSTERED或NONCLUSTERED。