728x90
반응형
데이터에 접근하는 방법은 어떻게 결정할까?
RDB에서 데이터 접근 절차를 결정하는 모듈을 쿼리 평가 엔진이라고 부른다.
=> SQL 구문(쿼리)을 처음 읽어 들이는 모듈이기도함
쿼리 평가 모듈은 추가로 파서 또는 옵티마이저와 같은 여러 개의 서브 모듈로 구성된다.
쿼리 => (1) 파서 => 파스된 쿼리 => 옵티마이저 => (2) 플랜생성, (3) 비용평가 => (4) 카탈로그 매니저 => 5.플랜평가
파서(Parser)
이름 그대로 파스(구문분석)을 하는 놈이다.
사용자로부터 입력받은 SQL구문이 문법적으로 오류가 있는지 검사해 준다.
옵티마이저(Optimizer)
서류 심사를 통과하면 쿼리는 옵티마이저로 전송된다.
옵티마이저는 최적화(데이터 접근법, 실행계획)를 수행하고, DBMS 두뇌의 핵심이다.
옵티마이저는 인덱스 유무, 데이터 분산 또는 편향 정도, 내부 매개변수 등의 조건을 고려해서, 선택 가능한 많은 실행 계획을 작성하고(2),
이들의 비용을 연산하고(3), 가장 낮은 비용을 가진 실행계획을 선택한다.
카탈로그 매니저(Catalog manager)
옵티마이저가 실행계획을 세울 때 옵티마이저에게 중요한 정보를 제공하는 것이 카탈로그 매니저(4) 이다.
카탈로그란 DBMS의 내부 정보를 모아놓은 테이블로, 테이블 또는 인덱스 통계 정보가 저장되어 있다.
플랜 평가(Plan evaluation)
옵티마이저가 SQL 구문에서 여러개의 실행 계획을 세운 후 그것을 받아 최적의 실행결과를 선택하는 것이 플랜 평가(5)이다.
728x90
반응형
'데이터베이스 노트 > 데이터베이스' 카테고리의 다른 글
Database의 레플리케이션(Replication) (Master/Slave DB) (0) | 2022.03.23 |
---|---|
DBMS와 실행 계획_2 (0) | 2018.10.23 |
DBMS와 버퍼 (0) | 2018.10.05 |
DBMS 아키텍처 (0) | 2018.10.05 |
SQL 튜닝 (조인방법) (0) | 2018.08.22 |