Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 同一表中不同列上的主键非聚集(复合键)和聚集索引?_Sql Server_Sql Server 2012_Query Performance_Sql Server Performance - Fatal编程技术网

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

Sql server 同一表中不同列上的主键非聚集(复合键)和聚集索引?,sql-server,sql-server-2012,query-performance,sql-server-performance,Sql Server,Sql Server 2012,Query Performance,Sql Server Performance,我使用的是SQL Server 2012,对于其中一个表,我看到它在不同的列上创建了主键非聚集(复合键)和聚集索引?有人能帮我理解在这种情况下会发生什么吗 这会降低DML操作的性能吗?如果是,如何测量 在并发期间执行DML操作时,这是否会导致此表的锁定/阻塞/死锁 注意:此表中有大量记录,约1000万条。一种常见的情况是,您可能会得到一个主键,而主键是非集群复合键,这就是连接表。连接表主要用于存储来自其他表的两个主键值之间的关系。一个简单的例子是学生和他们所学课程之间的关系。因此,这样一个表中的

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

  • 这会降低DML操作的性能吗?如果是,如何测量
  • 在并发期间执行DML操作时,这是否会导致此表的锁定/阻塞/死锁
    注意:此表中有大量记录,约1000万条。一种常见的情况是,您可能会得到一个主键,而主键是非集群复合键,这就是连接表。连接表主要用于存储来自其他表的两个主键值之间的关系。一个简单的例子是学生和他们所学课程之间的关系。因此,这样一个表中的主键(唯一键)实际上是两个外键列的组合。也就是说,在其他列上仍然可以有聚集索引。假设这样的桌子符合您的设计意图,这里没有什么不寻常的地方。

    请参见神话1@MartinSmith-谢谢,这非常好information@MartinSmith-我们能得到索引的所有神话吗?这将是很好的,我知道你有任何链接,以探索更多关于它。