본문 바로가기

정보기술, IT/IT source

Statement와 PreparedStement

Oracle DB를 연동하기 위한 PreparedStement 객체에 대해 공부할 것입니다. 

PreparedStement는 Statement의 단점들을 극복하기 위해 향상된 Statement이다.


그럼 PreparedStement의 속성에 대해 알아보겠습니다.

  

–PreparedStement SQL문의 구조는 동일하나 조건이 다른 문장을 변수 처리함으로써 항상 SQL문을 동일하게 처리할 수 있는 인터페이스 이다.

–PreparedStement SQL문을 처리하게 되면 LIBRARY CACHE에 저장된 세 가지 작업을 재사용 함으로써 수행 속도를 좀 더 향상시킬 수 있다.

–SQL문 전송하게 되면 오라클은 내부적으로 PARSING => EXECUTE PLAN => FETCH 작업을 한다.

이런 3가지 작업을 한 후에 검색한 결과를 SGA 영역 안에 Data Buffer Cache영역에 Block 단위로 저장하게 된다.


–SQL문과 PARSING한 결과와 실행계획을 SHARED POOL안에 LIBRARY CACHE에 저장하게 된다. 

똑같은 SQL문을 전송하면 LIBRARY CACHE에 저장된 SQL문과 PARSING한 결과와 실행계획을 그대로 사용하게 된다.

똑같은 SQL문이라도 대소문자가 하나라도 틀리거나 SQL문이 다르다면 LIBRARY CACHE에 저장된 3가지 작업을 재 사용할 수 없고 다시

  PARSING => EXECUTE PLAN => FETCH 작업을 수행하게 된다.