728x90
1. 구조적, 집합적, 선언적 질의 언어
오라클은 PL/SQL , SQLServer T-SQL처럼 절차적 프로그래밍 기능을 구현할 수 있는 확장 언어도 제공하지만,
SQL은 기본적으로 구조적,집합적,선언적 질의 언어.
결과는 구조적 집합적이지만 만드는 과정은 절차적이다.
>> 그런 프로시저를 만들어네는 DBMS내부 엔진이 바로 SQL 옵티마이저.
2. SQL처리 과정
3. SQL옵티마이저
:사용자가 원하는 작업을 가장 효율적으로 수행할 수 있는 최적의 데이터 엑세스 경로를 선택해 주는 DBMS의 핵심 엔진.
최적화단계
1. 후보군이 될만한 실행계획 찾기
2. 데이터 딕셔너리에 미리 수집해둔 오브젝트 통계 및 시스템 통계정보를 이용해 각 실행계획의 예상비용 산정
3. 최저 비용을 나타내는 실행계획 선택
4. 실행계획과 비용
5.옵티마이저 힌트
Oracle /*+ */ | SQL Server |
![]() |
-테이블 힌트 테이블명 다음에 WITH절을 통해 지정. fastfirstrow, holdlock, nolock 등 -조인힌트 FROM 절에 지정하며 두 테이블 간 조인전략에 영향. loop,hash,merge,remote 등 -쿼리힌트 쿼리당 맨 마지막에 한번만 지정할 수 있는 쿼리 힌트는 다음과 같이 OPTION절을 이용한다. |
힌트가 무시되는 경우
-뭄법오류
-의미오류 (서브쿼리에 unnest와 push_subq를 같이 기술한 경우)
-잘못된 참조
-논리적으로 불가능 (조인절에 등치 조건이 없는데 해시조인을 유도하거나 null허용칼럼에 대한 인덱스를 이용해 전체 건수 세기
-버그
728x90
'공부 > SQLP' 카테고리의 다른 글
3)SQL수행구조 - 1. 데이터베이스 아키텍처 (0) | 2025.01.15 |
---|