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을 공유 가능하게도 한다.
'DATABASE > SQL' 카테고리의 다른 글
SQL JOIN 정리 (0) | 2019.06.17 |
---|---|
SQL Turning :: SQL의 프로세스와 Database 저장구조 (0) | 2019.05.30 |
SQL Turning :: SQL 처리 과정과 I/O (0) | 2019.05.13 |
ERROR: ORA-12505 TNS : 프로토콜 어댑터 오류 (0) | 2019.04.05 |
명시적 형변환과 암시적 형변환 (0) | 2019.03.03 |
사이트의 정보
코딩하렴
으렴