코딩하렴

SQL Turning :: 공유와 재사용

by 으렴

Library Cache : SQL Parsing, 최적화 Row-Source 생성 과정을 거쳐 생성한 내부 프로시저(procedure)를 반복 재사용할 수 있도록 caching해 두는 메모리 공간.

 

SAG(System Global Area) : Server Process와 Background가 공통으로 Access하는 데이터와 제어구조를 Caching하는 메모리 공간

Soft Parsing

SQL을 cache에서 찾아 곧바로 실행단계로 넘어감.

 

Hard Parsing

찾는데 실패해 최적화 및 Row-Source생성까지 모두 거침.

 

 

Optimizer가 사용하는 정보

1. Table Column Index 구조에 관한 기본 정보.

2. Object 통계 : Table, Index(히스토그램 포함), Column 통계

3. System 통계 : CPU 속도 Single Block I/O 속도, Multiblock I/O 속도

4. Optimizer 관련 Parameter

 

 Bind 변수

SQL은 그 자체가 이름이다. 

Text 조금만 바뀌어도 다른 객체가 생성된다.

>> SELECT NAME FROM CLIENT WHEHE ID='1234'와 SELECT NAME FROM CLIENT WHEHE ID=?는 다르다.

조건절에 String이 넣어지는 것과 바인드 변수인 ?가 들어가는 것은 SQL객체가 생성되는 것 자체부터 달라진다.

일회성(ad hoc) SQL도 많다. 다 저장하려면 속도가 느려진다.

bind 변수는 SQL을 공유 가능하게도 한다.

사이트의 정보

코딩하렴

으렴

활동하기