2012-01-12 47 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