ある言語から別の言語への切り替えにはオーバーヘッドが伴います(小さいかもしれませんが、それでも存在します)。ループ内にある場合は強調されます。
シンプルに保ち、PL / SQLに固執できるのであれば、そうしてください。
Tom Kyte(Oracle Corporationの副社長兼教祖)には、ここで繰り返すのにふさわしいと思われるマントラがあります:
(参照:http://tkyte.blogspot.com/2006/10/slow-by-slow.html)
- 可能であれば、単一のSQLステートメントで実行する必要があります。
- 単一のSQL文で実行できない場合は、PL/SQLで実行してください。
- PL / SQLで実行できない場合は、Javaストアドプロシージャを試してください。
- Javaで実行できない場合は、Cの外部プロシージャで実行してください。
- Cの外部ルーチンでそれを実行できない場合は、なぜそれを実行する必要があるのかを真剣に考えたいと思うかもしれません…