SQL/SQL_이론
SQL문의 실행순서
2주녘
2024. 9. 19. 13:39
반응형
SQL문의 실행순서를 요약하면 아래와 같습니다.
- 개발자가 작성한 SQL문(DDL, DML, DCL 등)은 3단계를 걸쳐서 실행된다. SQL문의 문법을 검사하고 구문 분석을 한다.
- 구문 분석 이후에 SQL을 실행한다. SQL이 실행되면 데이터를 인출하게 된다.
▶ SQL 실행 순서
SQL 실행 순서 | 설명 |
파싱(Parsing) | - SQL 문의 문법을 확인하고 구문 분석한다. - 구문 분석한 SQL문은 Library Cache에 저장된다. |
실행(Execution) | 옵티마이저(Optimizer)가 수립한 실행 계획에 따라 SQL을 실행한다. |
인출(Fetch) | 데이터를 읽어서 전송한다. |
- 파싱(Parsing)
- SQL 문이 데이터베이스로 들어오면, 파싱 단계에서 문법이 올바른지 먼저 확인합니다. 이 과정에서 데이터베이스는 SQL 문을 구문 분석(파싱)해서 명령어가 무엇을 의미하는지 이해하고, 최종적으로 문법 오류가 있는지 체크합니다. 만약 문법적으로 문제가 없다면, 그 SQL 문을 Library Cache라는 메모리 공간에 저장해두죠. 이 작업은 이후 동일한 SQL 문이 또 실행될 때, 이미 분석된 SQL 문을 재사용해서 속도를 빠르게 하기 위해서예요.
- 실행(Execution)
- 파싱이 끝나고 나면, 실행 단계로 넘어가요. 이 단계에서 데이터베이스는 **옵티마이저(Optimizer)**라는 내부 알고리즘을 사용해, SQL을 어떻게 효율적으로 실행할지 '실행 계획'을 세워요. 옵티마이저는 여러 가지 방법 중에서 가장 빠르고 적합한 방법을 선택해 실행하게 돼요. 예를 들어, 특정 테이블에서 데이터를 조회할 때, 인덱스를 사용할지, 전체 테이블을 스캔할지를 결정하는 게 바로 이 과정이에요.
- 인출(Fetch)
- SQL 문이 실행되면, 그 결과를 가져오는 인출 단계가 진행돼요. 데이터를 데이터베이스에서 읽어온 후, 요청한 사용자에게 전송해주는 단계예요. 예를 들어, "나이가 18세 이상인 사람들의 이름을 조회"하라는 명령어를 실행했다면, 그 결과를 가져와서 화면에 보여주는 게 이 단계죠.
요약하자면, 파싱은 SQL 문을 분석하고 준비하는 단계, 실행은 실제로 SQL을 처리하는 단계, 인출은 실행 결과를 가져오는 단계예요. 이 세 단계를 통해 데이터베이스가 우리가 요청한 데이터를 안전하고 빠르게 처리해주는 것입니다.
반응형