-
Oracle이 SQL을 처리하는 과정(조회-SELECT)공부 이야기/ORACLE 2024. 4. 27. 15:08
시작은 서버 프로그램부터.
1. Oracle 서버 메모리에 실행중인 Listener 프로세스가 connection을 accept 한다.
2. MTS(connection pool 기반) 혹은 Dedicated Server에서 프로세스를 할당하고 SQL 구문을 처리하기 시작한다.
3. 쿼리가 캐싱되어 있지 않은 경우 -> 4~6 실행
- SQL 쿼리 캐싱은 소프트 파싱이라고 하며, Shared Pool > Library Cache 에서 확인할 수 있다.
4. SQL Parser가 Syntax를 해석
- 기본적으로 Library Cache 영역에서 수행하지만 더 큰 메모리를 할당하거나 최적화 작업은 Reserved Pool, Large Pool 에서 진행한다.
- 예약 풀(Reserved Pool): 공유 풀의 일부로, 큰 메모리 요청을 처리하여 메모리 조각화를 줄이고, 전체 메모리 관리 효율성을 높입니다.
- 대형 풀(Large Pool): 특정 작업의 메모리 할당을 분리하여 관리하고, 공유 풀의 부하를 줄여 성능을 최적화합니다.
5. Optimizer가 최적의 경로를 선택
6. Executer가 선택한 경로에 의해 실행
7. 데이터가 캐싱되어 있지 않은 경우, 디스크에서 데이터를 가져옴
- Data Buffer Cache 영역에서 캐싱된 데이터가 있는지 확인할 수 있다.
* SQL Select 조회 순서
'공부 이야기 > ORACLE' 카테고리의 다른 글
Oracle 23c 설치하기 (0) 2024.04.29 Oracle Update 처리 과정 및 성능 튜닝 (0) 2024.04.27 Oracle Listener (0) 2024.04.25 Oracle Redo, Undo log file (0) 2024.04.25 Oracle RAC(Oracle Real Application Clusters)에 대해 (0) 2024.04.25