SQL 처리과정

xlwdn·2022년 10월 20일
0

SQL


기본 개념

데이터베이스과 통신하는 기본적인 구조적 질의 언어이며, 구조적, 집합적, 선언적인 특징을 가지고 있다.

SQL 처리 과정


  1. 파싱
    1. 사용자로부터 전달받은 SQL을 SQL 파서가 파싱하며, 이 과정에서 파싱 트리 생성, Syntax 체크(문법적 오류 체크), Semantic 체크(의미상 오류가 없는지 확인) 등을 수행한다.
  2. SQL 최적화
    1. 옵티마이저가 딕셔너리 테이블에서 미리 수집한 시스템 및 오브젝트 통계 정보를 바탕으로 다양한 실행 경로를 생성해 비교한 후 가장 효율적인 하나를 선택한다. DB의 효율을 결정짓는 가장 중요한 단계이다.
  3. 로우 소스 생성
    1. sql 옵티마이저가 선택한 실행 경로를 실제 수행 가능한 코드 또는 프로시저 형태로 포맷팅 하는 단계다. 로구 소스 생성기가 이 역할을 맡으며, 바인딩 변수를 할당하는 작업도 이 과정에 포함된다.

SQL 최적화 과정


  1. 사용자로부터 전달받은 쿼리들을 수행하는 데 후보군이 될만한 실행 계획들을 도출한다.
  2. 데이터 딕셔너리에 미리 산정해놓은 정보들을 바탕으로 예상 비용을 계산한다.
  3. 최저 비용을 나타내는 실행계획을 선택한다.

옵티마이저 힌트


옵티마이저 힌트 사용시 주의해야할 점들은 다음과 같다.

  • 힌트 안에 인자 나열 시 ‘,’를 사용할 수 있지만, 힌트와 힌트 사이에 기재하면 안된다.
  • 테이블 지정 시 스키마명까지 명시하면 안된다.
  • FROM 절 테이블 옆에 별칭 지정 시 힌트에서도 별칭을 사영하여야한다.

0개의 댓글