あなたのアプローチはメモリの問題につながります。最速の方法はこれです[nullシナリオを処理するためにDavidのコメントの後に編集されたクエリ]:
insert into dtr_debtors1(SSN)
select a.S1+level
from dual,(select nvl(max(ssn),0) S1 from dtr_debtors1) a
connect by level <= 10000
選択挿入は、すべてがRAMにとどまるため、最速のアプローチです。このクエリは、グローバル一時領域に入ると遅くなる可能性がありますが、DBの調整が必要です。これより速いものはないと思います。
クエリによるメモリ使用の詳細:
各クエリには、基本的に各クエリで使用可能なRAMである独自のPGA[プログラムグローバルエリア]があります。この領域がクエリ結果を返すのに十分でない場合、SQLエンジンはハードディスクのようなGolabl tempテーブルスペースの使用を開始し、クエリが遅くなり始めます。クエリに必要なデータが非常に大きく、一時領域でさえ十分でない場合は、テーブルスペースエラーが発生します。
したがって、常にクエリを設計して、PGAにとどまるようにします。それ以外の場合は、危険信号になります。