比較的単純な更新ステートメントがあります。
update sv_konginfo ki
set AnzDarl = 1
where kong_nr in (
select kong_nr
from sv_darlehen
group by kong_nr
having count (*) = 1);
単独で問題なく動作します (約 150.000 レコードで約 1 秒)。
ただし、テーブルを切り捨ててからレコードを再挿入すると、次のようになります。
truncate table sv_konginfo;
insert into sv_konginfo (kong_nr)
select distinct kong_nr
from sv_darlehen;
update ステートメントは、まったく同じデータに対して非常に遅く (1 分以上) 実行されます。
2 番目のシナリオでパフォーマンスを向上させるにはどうすればよいですか? (Oracle Database 10g Enterprise Edition リリース 10.2.0.3.0 - 64 ビットを使用しています。)