以下の更新ステートメントには、テーブルとDECODEステートメントへの参照が含まれています。私のテーブルには約500000のレコードがあり、これはこのステートメントによって変更され、2時間30分かかります。どのようなタイプの提案も、これのパフォーマンスを向上させることを歓迎しています。DECODEによる更新ステートメントのパフォーマンスチューニング
はここでデコード文のオプションの数があまり大きくない場合には、私の更新ステートメント
UPDATE TABlE_1 t1
SET t1.column_1= DECODE((SELECT creator
FROM table_2 t2
WHERE t2.key1 = t1.key1
AND t2.key2 = t1.key2),
'AAAAAAA_table2',
'aaaaa_table1',
'BBBBBBB_table2',
'bbbbb_table1',
'ccccc_table1')
WHERE t1.column_1 IS NULL;
なぜパフォーマンスが重要ですか?これは1回限りの更新のように見えますか、500,000のすべてのレコードを頻繁に更新する予定ですか? – mathguy
これは顧客データベースをアップグレードするために使用された更新スクリプトの一部であり、アップグレードプロセスはすばやく行う必要があります。はい、これは1回のアップグレードです – Dimuthu