-
SQL파싱과 최적화S T U D Y/DataBase 2023. 8. 24. 19:58728x90반응형
SQL의 정의
Structrued Query Language. 구조적 질의 언어
SQL의 최적화
1. SQL파싱
- 사용자로부터 SQL을 전달 받음 -> 파서가 파싱 진행(파싱 트리 생성 -> Syntax체크 -> Semantic체크)
2. SQL최적화
- 옵티마이저가 그 역할을 맡음
- 데이터베이스 성능을 결정하는 가장 핵심적 엔진
3. 로우 소스 생성
- 옵티마이저가 선택한 실행 경로를 실제 실행 가능한 코드나 프로시저 형태로 포맷팅 함
SQL옵티마이저의 역할
사용자가 원하는 역할을 가장 효율적으로 수행할 수 있는 최적의 데이터 액세스 경로를 선택해주는 DBMS엔진
1. 사용자로부터 전달 받은 쿼리를 수행하며 나올 수 있는 실행계획을 찾아냄
2. 데이터 딕셔너리에 미리 수집해 둔 오브젝트 통계 및 시스템 통계정보로 각 실행계획의 예상비용을 산정
3. 최저 비용을 가진 실행계획을 선택
오라클 힌트 사용법
1. 여러 개의 힌트를 사용할 때
/* INDEX(A A_X01) INDEXBB_X03) */
2. 주의할 점
(1) 힌트와 힌트 사이를 나열한다고 콤마를 쓰면 안 됨.
/* INDEX(A A_X01), FULL(DD) */
--> 그럼 맨 앞에 AA_X01만 유효 힌트
(2) 테이블명 알리아스를 줬다면 힌트에도 알리아스 사용해야 함.
EX)
SELECT /* FULL(A.EMP_NO) */
FROM EMP A
--> 반대로 테이블명에 알리아스가 없으면 힌트에도 알리아스 없어야 함.
SQL공유 및 재사용
1. 파싱
- 소프트 파싱 : SQL을 DB Buffer cache에서 찾아 실행단계로 바로 넘어가는 것
- 하드 파싱 : 찾는데 실패해서 최적화, 로우 소스 생성 단계까지 거치는 것
728x90반응형'S T U D Y > DataBase' 카테고리의 다른 글
[SQLP] SQLP 조사하기, 준비하기, 기출문제 사이트 (0) 2023.03.23 오분류표 (0) 2023.02.08 ADsP 데이터분석준전문가 - 인공신경망, 모형 평가 방법 (0) 2023.02.05 ADsP 데이터분석준전문가 - 앙상블, k-NN, SVM (0) 2023.02.05 ADsP 데이터분석준전문가 - 의사결정나무 (0) 2023.02.05