当存在聚簇(PK)索引时,非聚集索引性能是否会增加?

时间:2013-05-02 06:36:23

标签: tsql indexing

我有一个非常大的表,上面有两个索引,但没有PK(聚集)索引。

如果表上还有一个聚簇索引,两个索引的性能是否会增加,即使我必须从一个标识列中“设计”一个索引?

2 个答案:

答案 0 :(得分:1)

精心挑选的聚集索引可以为您的表现创造奇迹。为什么?聚集索引定义数据在硬盘上的物理存储方式。选择一个好的Clustered索引将确保您获得Sequential IO而不是Random IO。因此,这是一个很好的性能提升,因为大多数数据库设置的瓶颈是硬盘驱动器和IO操作。

尝试在连接使用很多的值上创建聚簇索引。

如果您只是将它放在主键上,您的性能仍会提高,因为NON_Clustered将使用Clustered进行搜索操作,这将避免表扫描。

希望这能回答你的问题

答案 1 :(得分:0)

更像是相反的非聚集索引受到聚簇索引的影响:

http://use-the-index-luke.com/blog/2014-01/unreasonable-defaults-primary-key-clustering-key

但是,如果您设法用聚簇索引替换其中一个非聚集索引,则整体性能可能会提高或降低。真的取决于你的工作量。