[ad_1]
ID、名前、給与、および指定の4つの列を持つ従業員テーブルがあります。
このテーブルには 2500 万のレコードがあり、給与 > 25k の条件に基づいて指定列を更新したかった
更新クエリを作成する代わりに、より効率的な方法でテーブルを更新するにはどうすればよいですか
更新クエリを書き込むと、トランザクション ログがいっぱいになり、時間がかかります
私が試したこと:
従業員セット Design=’SSA を更新します。ここで、給与 >25
解決策 1
更新クエリを作成するしかありません。
トランザクション ログで考えられる問題は、それが存在するドライブがいっぱいであるか、ほぼいっぱいになっていることです。 これを修正するには、トランザクション ログを少しメンテナンスする必要があります。
解決策 2
大量のデータを更新する場合、最適化する方法があります。
1. update ステートメントを一括挿入ステートメントに置き換えます。
2. 更新列のインデックスがあれば削除します。 更新が完了すると、インデックスを作成できます。
3. トリガーを削除すると更新が極端に遅くなり、更新があれば無効にします。
update ステートメントの実行計画も確認でき、速度が低下している理由を確認できます。
お役に立てれば。
[ad_2]
コメント