SQL 기초

허진수·2023년 4월 4일
0

친절한 SQL 튜닝

목록 보기
1/2
post-thumbnail

SQL

Structured Query Language의 준말, 즉 구조적 질의 언어 이다.

SQL Optimizer

프로시저를 생성홰주는 DBMS 내부 엔진

procedure

SQL의 결과집합을 만드는 과정을 처리하는 주체

SQL최적화

  1. SQL 파싱
    1. 파싱 트리 생성 → 문법(Styntax) 체크 → Semantic(의미상 요류, 권한 등등….) 체크
  2. SQL 최적화
    1. 시스템 및 오브젝트 통계정보를 바탕으로 실행경로를 생성 및 최적의 실행경로를 선택
  3. 로우 소스 생성
    1. 선택된 실행경로를 바탕으로 실행 가능한 코드/프로시저의 형태로 포멧팅 - Row-Source Generator

  • Library Cache 💡 SQL파싱, 최적화, 로우 소스 생성 과정을 거쳐 생성한 내부 프로시저를 반복 재사용할 수 있도록 캐싱해 두는 메모리 공간
  • SGA 💡 **System Global Area** - 서버 프로세스와 백그라운드 프로세스가 공통으로 액세스하는 데이터와 제어구조를 캐싱하는 메모리 공간 `DB Buffer Cache`, `Redo Log Buffer`, `Shared Pool`(Library Cache, Data Dictionary Cache) 등이 있다

Soft Parsing

SQL을 캐시에서 찾아 바로 실행단계로 넘기는 과정

Hard parsing

캐시에서 찾는 것을 실패해 최적화 및 로우 소스 생성 단께까지 모두 거치는 과정

  • 사용하는 정보 테이블, 컬럼, 인덱스 구조 정보 오브젝트 통계 - 테이블 통계, 인덱스 통계, 컬럼(히스토그램 포함) 통계 시스템 통계 - CPU 속도, Single Block I/O 속도, MultiBlock I/O 속도 옵티마이저 관련 파라미터

SQL 실행 순서

  1. SQL 파싱
  2. 캐시 확인
    1. 캐시 X → 최적화 → 로우 소스 생성
  3. 실행
profile
안녕하세요

0개의 댓글