私は下に次の更新ステートメントを持っている:多数
UPDATE [dbo].[mytable]
SET [originaldate] =
CASE
WHEN [datecolumn1] <= [datecolumn2] THEN datecolumn3
ELSE [datecolumn1]
END
行の260万のために、ほぼ5分間実行この文。このクエリを最適化する方法はありますか?
CONVERT(date, [datecolumn2])
のような列をdatetime
のように変換しようとしましたが、実行時間は同じですが、このような列をdate
に変換しようとしました。
また、必要な列とIDをテンポラリテーブルに入れてみましたが、まだパフォーマンスが悪いです。
多分あなたはこれを使用することができないいくつかの状況を述べることができます、例えば、それはキーの制約を持っている、または自動増分フィールド(IDをオフにする必要があります)、ありがとう。 – Prisoner
私はこれを試すことができますが、私の懸念は制約とアイデンティティです。また、私のテーブルにはたくさんの列があります。 @GeraldGonzales。 –
。 。アイデンティティは 'identity_insert'で手を加える必要があります。制約はその性質に依存します。 –