CS/DB

[친절한SQL튜닝]SQL최적화란?_1

개발자 덕구🐾 2024. 6. 4. 20:45
728x90

 
 

1. SQL 최적화란 ? 

SQL최적화 과정은 2가지 과정으로 나눠져있다.
 
1. SQL 파싱
2. SQL 최적화 
 
 
 

2. SQL 옵티마이져란 ? 

SQL을 실행하면서 내부에서 엔진이 필요하다.
이러한 DBMS내부 엔진을 SQL 옵티마이져라고한다. 
 
 
SQL옵티마이져는 자동차 네비게이션과 흡사하여 원하는 작업을 가장 효율적으로 수행할수있는
 최적화된 액세스 경로를 선택한다. 
 
 

3. SQL 옵티마이져의 실행계획 선택과정 

=> 1. 쿼리를 수행할 후보군들(실행계획)을 찾는다.
2. 통계정보를 보고 각 실행계획의 예상 비용을 산정한다.
3. 최저 비용의 실행계획을 선택한다.
 
 
 

4. 옵티마이져 힌트

옵티마이져 힌트를 이용해 데이터 엑세스의 경로를 바꿀수있다. 
힌트는 주석기호에 '+'를 붙이면 된다.
 
예시)
select /*+INDEX(A 고객_PK)*/
           고객명, 연락처, 주소, 가입일시 
from 고객 A 
where 고객 ID = '100';
(오라클의 주석이 /* */ 인건 알고있죠 ? ) 
 
 
 
 
 
 
 

반응형

'CS > DB' 카테고리의 다른 글

[친절한SQL튜닝]DB의 저장구조_3  (0) 2024.06.10
[친절한SQL튜닝]SQL이 느린 이유_2  (0) 2024.06.10