본문 바로가기
도전기/SQLP

ch04_라이브러리 캐시 최적화[오라클 성능 고도화 원리와 해법_I]

by Qookoo 2024. 8. 29.
반응형

ch04_09 Static vs Dynamic SQL

 

_*_ 하드파싱 부하를 최소화하기 위해 바인드 변수 사용 필요

 

1. Static SQL 정의

 - String 형 변수에 담지 않고 코드사이에  직접 기술한 SQL문

 - PreCompile 단계에서 구문분석, 유효 오브젝트 여부, 오브젝트 액세스 권한 체크 가능

 

2. Dynamic SQL

 - String 형 변수에 담아서 기술하는 SQL문

 - PreCompile 단계 Syntax, Semantics 체크 불가능

 

3. 일반 프로그램 언어에서 SQL 작성법

 - String 변수에 담아서 실행

 - Static SQL을 지원하는 언어 : 파워빌더, PL/SQL, Pro*C, SQLj

 

4. 문제의 본질은 바인드 변수 사용 여부

 - 바인드 변수를 사용하지 않고 Literal 값을 SQL  문자열에 결합하는 방식으로 개발, 반복적인 하드 파싱으로 성능 저하 

 

 

 

 

반응형