SQL문의 처리과정에 대해 - parsing, execution, fetch

SQL문의 쿼리실행은 크게 Parsing, Exexcution, Fetch의 세가지 단계로 나누어 볼 수 있다.

 

1. Parsing(구문분석) 단계

해당 단계에서는 SQL 쿼리문을 분석하여 구문을 해석하는 단계로서 DB는 해당 쿼리가 문법적으로 올바른지 확인하고 

의미를 분석하는 단계이다. 이 과정에서 쿼리의 실행 계획도 생성하고 쿼리 최적화도 이루어진다.

 

2. Execution(실행) 단계

Parsing이 완료되면 파싱된 쿼리를 기반으로 실제 데이터를 검색하거나 조작하는 단계이다.

FROM 절에서 명시한 테이블이나 뷰에서 데이터를 가져오고

WHERE절의 조건에 따라 행( ROW)를 필터하며, GROUP BY와 집계 함수를 사용하여 데이터를 그룹화하고 집계한다.

 

3. Fetch (검색) 단계

Execution 단계에서 생성된 결과 집합은 메모리 상에 로드되어있는데 이 결과 집합을 실제로 가져오는 단계이다.

DB는 이 결과를 클라이언트에게 전달하거나 필요한 경우 Application에서 처리하도록한다.

 

 

SQL 쿼리의 실행은 Parsing으로 시작해 구문 분석과 최적화를 수행한 뒤, Execution단계에서 실제 데이터 조작과 액세스를 수행하며, 마지막으로 Fetch단계에서 결과를 가져온다.

 

이러한 단계들은 DB가 쿼리를 효율저긍로 처리하고 결과를 반환하기위한 과정들이다.

'DB + SQL' 카테고리의 다른 글

SQL - WITH 사용법  (1) 2024.02.02
SQL - COALESCE  (0) 2023.11.07
SQL ERROR 1005 Foreign key constraint is incorrectly formed 에러 원인  (0) 2023.02.16
Mysql DB - 접속원리  (0) 2022.12.21
SQL - INSERT INTO WHERE NOT EXISTS  (0) 2022.04.07