2012-01-19 1 views
3

이것은 간단한 질문입니다. Java 저장 프로 시저가 Oracle 데이터베이스의 PL/SQL보다 느린 지 알고 있습니까?Java 저장 프로 시저가 Oracle의 PL/SQL보다 느립니다.

PL/SQL에서 Java로 저장 프로 시저를 마이그레이션하여 벤치마킹했으며 PL/SQL보다 약 2 배의 시간이 걸렸습니다. 이것도 당신의 경험입니까?

감사합니다.

+0

여기에 내 대답을 참조하십시오 http://stackoverflow.com/questions/6821841/java-stored-procedure-vs-pl-sql-stored-procedure/7124055#7124055 – Ollie

+0

코드를 마이그레이션하는 이유는 무엇인가 자바로? (나는 당신이 그것의 지옥에 대한 벤치마킹을하지 않는다고 가정한다.) – tbone

+0

@Juan 그것은 나의 경험이기도하다. Java 저장 프로 시저를 몇 번 사용해 보았지만 결코 성능 향상을 보지 못했습니다. –

답변

6

언어를 전환 할 때마다 컨텍스트 스위치라는 오버 헤드가 발생합니다.

(http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:60122715103602)

가 SQL 및 PL/SQL 사이를 이동 심지어 오버 헤드이며, 그들은 매우 긴밀하게 통합되어 있습니다. 따라서 Java와 PL/SQL 간 이동은 순수 PL/SQL보다 항상 효율적이지 않습니다. 컨텍스트 스위칭 한 번 성능에 관해서는

Java Stored Procedure Vs PL/SQL Stored Procedure

은 벤치마킹는 당신에게 가장 좋은 대답을 줄 것이다하지만 PL/SQL이 너무 밀접하게 Oracle 데이터베이스 내에서 통합으로 FWIW, 그것은보다 더 수행해야합니다, 자리를 차지 저장된 Java 코드를 사용하여 데이터를 가져 오거나 DB와 상호 작용하는 경우, 이미 가져온 데이터를 순전히 조작하는 경우, 데이터에 수행중인 작업에 따라 달라지며 벤치 마크에서 응답을 알려줍니다.

1

예. Java는 항상 블록에서 가장 뚱뚱하고, 가장 느린 아이였습니다.

당신이 할 일의 99 %를 pl/sql에서 java로 바꿀 이유가 없습니다.

내가 필요한 몇 가지 인스턴스에 대해 Java를 사용합니다.