2012-01-12 36 views
0

我们的数据库中有一些PL/pgSQL存储过程(PostgreSQL 9.x)。移植PL/pgSQL存储过程?

这些是严格的顺序,在某些情况下,可能会非常缓慢。

我们正在考虑将这些移植到PL/Java,PL/Python或类似的东西,并利用这些语言的多线程功能。

主要问题是:如何“有效”地实现这些语言支持?例如,我正在考虑运行Java代码的虚拟机:在调用我的PL/Java代码时,每次为它调用一个新的虚拟机时,还是PL/Java保留某种虚拟机池,并关联一个他们的实际电话?

+5

什么是在程序缓慢?这就是你想要解决的问题,将问题移植到不同的语言中并不能解决问题。 – 2012-01-12 16:22:15

回答

3

Pl/Java运行在嵌入postgres后端进程的jvm中。请参阅:PL/Java wiki

我建议您不要将所有内容都转换为java,而无需先查看纯SQL解决方案。在许多情况下,SQL在批量处理大量记录方面的能力将超过单独处理记录但导致更多SQL调用的好处。

如果任务本身具有顺序性,则Java的多线程功能不会带来益处。

+0

感谢大家,我们在做出任何决定之前几周都在整理这些信息。您的意见非常有帮助! – gyorgyabraham 2012-01-24 16:15:32