同一 table 中不同列上的主键非聚集(复合键)和聚集索引?

Primay key non-clustered (composite key) and clustered index on different column in same table?

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

  1. 这会降低 DML 操作的性能吗?如果是,如何测量?
  2. 在并发期间执行 DML 操作时,这会导致此 table locking/blocking/deadlocks 吗?

注意:这个table里面有海量的记录~1000万

一个常见的场景是结点 table,您最终可能会得到一个主键,它是一个非聚集复合键。联结 table 主要用于存储来自其他 table 的两个主键值之间的关系。一个简单的例子就是存储学生和他们所修课程之间的关系。因此,table 中的主(唯一)键实际上是两个外键列的 组合 。也就是说,其他列上仍然可以有聚集索引。这里没有任何异常,假设这样table符合你的设计意图。