昨日、次の行に沿って update ステートメントを実行しました。
UPDATE MainTable
Set SomeField = SubsetTable.SomeField
where MainTable.MainTableKey = SubsetTable.MainTableKey
ここで、SubsetTableは のサブセットでMainTableあり、同じ主キー フィールドを持ちます。MainTableおよそ 2 億件のレコードがあり、 SubsetTable500 万件のレコードがあります。MainTableKeyGUID です。
これらのテーブルの両方に、クラスター化インデックスがありMainTableKeyます。
このクエリを初めて実行したとき、なんと 14 時間かかりました。
MainTableKey次に、両方のテーブルに非クラスター化インデックスを追加しました。今では30分かかります。
なぜパフォーマンスの向上がそれほど劇的になるのかについて、誰か考えがありますか?