0

我正在使用 SQL Server 2012,对于其中一个表,我看到它在不同列上创建了主键非聚集(复合键)和聚集索引?有人可以帮助我了解在这种情况下会发生什么吗?

  1. 这会降低 DML 操作的性能吗?如果是,如何测量?
  2. 在并发期间执行 DML 操作时,这会导致该表的锁定/阻塞/死锁吗?

注意:该表中有大量记录~1000万

4

1 回答 1

1

一种常见的情况是,您可能最终得到一个非聚集复合键的主键是联结表。联结表主要用于存储来自其他表的两个主键值之间的关系。一个简单的例子是存储学生和他们所学课程之间的关系。因此,此类表中的主(唯一)键实际上是两个外键列的组合。话虽如此,其他列上仍然可以有聚集索引。假设这样的表格符合您的设计意图,这里没有什么不寻常的地方。

于 2020-03-02T18:10:24.483 回答