DB2のアップデートは遅い
DB2のアップデートは遅い。
IMPORTでINSERET_UPDATEを行うとCOMMITCOUNTを200000にしたら
20万件のUPDに一分近くかかる。
数千万件のUPDATEは数時間の計算になってしまう。
もちろんプライマリキー付きで。
ストアドでアップデート文でやっても遅い。
ストアドで一回のアップデートを減らしてループで回すと大分速い。(10倍以上)
1件ごとにループにしても早かった。
もっともはやいのが、アップデート後のテーブルのレコードを
一度一時表に保持して、対象表の対象レコードを削除してから
一時表からインサートする方法。これは1時間の処理が1分で終わった。
IMPORTでINSERET_UPDATEを行うとCOMMITCOUNTを200000にしたら
20万件のUPDに一分近くかかる。
数千万件のUPDATEは数時間の計算になってしまう。
もちろんプライマリキー付きで。
ストアドでアップデート文でやっても遅い。
ストアドで一回のアップデートを減らしてループで回すと大分速い。(10倍以上)
1件ごとにループにしても早かった。
もっともはやいのが、アップデート後のテーブルのレコードを
一度一時表に保持して、対象表の対象レコードを削除してから
一時表からインサートする方法。これは1時間の処理が1分で終わった。