2012-01-12 4 views
0

DB (PostgreSQL 9.x)에는 PL/pgSQL 저장 프로 시저가 있습니다.PL/pgSQL 저장 프로 시저를 이식하고 있습니까?

이들은 순전히 순차적이며 일부 상황에서는 매우 느릴 수 있습니다.

우리는 이들을 PL/Java, PL/Python 또는 이와 유사한 것으로 이식하는 것에 대해 생각하고 있으며 이러한 언어의 멀티 스레딩 기능을 이용합니다.

주요 질문은 다음과 같습니다. "효과적으로"이러한 언어 지원이 어떻게 구현됩니까? 예를 들어, Java 코드를 실행하는 가상 머신을 생각하고 있습니다. PL/Java 코드를 호출 할 때마다 새 VM을 호출 할 때마다 또는 PL/Java가 일종의 VM 풀을 유지하고 실제 통화를 위해서?

+5

절차가 천천히 진행됩니까? 문제를 다른 언어로 이식해도 문제가 해결되지 않습니다. –

답변

3

Pl/Java는 postgres 백엔드 프로세스에 포함 된 jvm에서 실행됩니다. 참조 : PL/Java wiki

순수 SQL 솔루션을 처음 보지 않고 모든 것을 java로 변환하는 것이 아니라고 제안합니다. 대부분의 경우 대량의 많은 레코드에서 작업하는 SQL의 기능은 레코드를 개별적으로 처리하지만 SQL 호출을 더 많이 발생시키는 이점보다 중요합니다.

Java의 멀티 스레딩 기능은 작업이 본질적으로 순차적 인 경우 이점을주지 않습니다.

+0

감사합니다. 우리는 이번 결정에 앞서 정보를 정리하고 있습니다. 귀하의 의견은 정말 도움이됩니다! – gyorgyabraham