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