我昨天按照以下几行执行了更新语句:
UPDATE MainTable
Set SomeField = SubsetTable.SomeField
where MainTable.MainTableKey = SubsetTable.MainTableKey
其中SubsetTable
是一个子集,MainTable
并且具有相同的主键字段。MainTable
大约有 2 亿条记录,SubsetTable
有 50 万条记录。MainTableKey
是一个 GUID。
这两个表都有一个聚集索引MainTableKey
。
当我第一次执行这个查询时,它花了 14 个小时。
MainTableKey
然后我在两个表上都添加了一个非聚集索引。现在需要 30 分钟。
有没有人知道为什么性能增益会如此显着?