1.2.1 소프트 파싱 vs. 하드 파싱내부 프로시저를 캐싱해두는 공간을 라이브러리 캐시 라고 한다.서버 프로세스와 백그라운드 프로세스가 공통으로 액세스하는 데이터와 제어 구조를 캐싱하는 공간을 SGA 라고 하는데 라이브러리 캐시는 SGA 의 구성요소이다.SQL 을 파싱한 후 해당 SQL 이 캐시에 존재하는지 확인하는데,캐시에서 찾으면: 바로 실행단계로 넘어간다, 이를 소프트 파싱 이라고 함캐시에서 못찾으면: 최적화 및 로우 생성 단계까지 모두 거치는 것을 하드 파싱 이라고 한다.SQL 최적화 과정을 hard 라고 표현하는 이유는 최적화에 많은 단계가 있고, 고려해야 할 부분이 많아서이다.따라서, 라이브러리 캐시가 존재한다.1.2.2 바인드 변수의 중요성SQL 은 이름이 없다SQL 이름이 없다, SQL ..
친절한 SQL 튜닝
1.1.1 구조적, 집합적, 선언적 질의 언어SQL은 "Structured Query Language", 말그대로 구조적 질의 언어이다.SQL 은 구조적이고, 집합적이고, 선언적인 질의 언어이다. 원하는 결과집합을 구조적 집합적으로 선언하지만, 그 집합을 만들어 내는 과정은 절차적일 수 밖에 없다즉, 그 과정을 대신해주는 프로시저가 필요한데, 그게 바로 SQL 옵티마이저이다.DBMS 내부에서 프로시저를 작성하고 컴파일 해서 실행 가능한 상태로 만드는 것을 SQL 최적화 이라고도 한다.1.1.2 SQL 최적화SQL 을 실행하기 전 최적화 과정은 아래와 같다.SQL 파싱 : SQL 파서가 파싱을 진행한다.SQL 문을 분석해서 파싱트리 생성, 문법이나 의미적으로 오류 있는 지 확인한다.SQL 최적화 : 옵티마..