我有一个非常大的表,上面有两个索引,但没有PK(聚集)索引。
如果表上还有一个聚簇索引,两个索引的性能是否会增加,即使我必须从一个标识列中“设计”一个索引?
答案 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
但是,如果您设法用聚簇索引替换其中一个非聚集索引,则整体性能可能会提高或降低。真的取决于你的工作量。