0

DB (PostgreSQL 9.x) に PL/pgSQL ストアド プロシージャがいくつかあります。

これらは厳密にシーケンシャルであり、状況によっては非常に遅くなる可能性があります。

これらを PL/Java や PL/Python などに移植し、これらの言語のマルチスレッド機能を活用することを考えています。

主な問題は、これらの言語サポートがどの程度「効果的に」実装されているかということです。たとえば、Java コードを実行する仮想マシンについて考えています。PL/Java コードを呼び出すたびに、新しい VM が呼び出されるか、PL/Java が何らかの種類の VM のプールを保持し、1 つを関連付けます。実際の呼び出しのためにそれらの?

4

1 に答える 1

3

Pl/Java は、postgres バックエンド プロセスに埋め込まれた jvm で実行されます。参照: PL/Java wiki

最初に純粋な SQL ソリューションを検討せずに、すべてを Java に変換することはお勧めしません。多くの場合、多数のレコードをまとめて処理する SQL の機能は、レコードを個別に処理する利点よりも重要ですが、より多くの SQL 呼び出しにつながります。

タスクが本質的にシーケンシャルである場合、Java のマルチスレッド機能はメリットをもたらしません。

于 2012-01-15T22:56:09.980 に答える