Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

공부 마렵다

미리 알아두면 좋은 지식들 본문

SQL

미리 알아두면 좋은 지식들

Nidust 2020. 1. 7. 19:20

쿼리 최적화

SQL이라는 언어를 통해 DBMS에 요청하는 것은 결과 집합을 요청할 뿐 정확한 처리 절차를 지시하지는 않는다.

(사용자가 직접 쿼리를 분석하여 데이터를 가장 효율적으로 추출하는 방법을 가이드하지 않는다)

 

사용자가 하는 것은 DBMS에 요청을 보내는 몇 가지의 요청들(SELECT, INSERT, DELETE 등등) 뿐이다.

 

사용자의 작성한 쿼리를 분석하여 데이터를 가장 효율적으로 추출하는 방법은 DBMS가 스스로 판단하여 실행 계획을 세웁니다.

 

이 과정을 '쿼리 최적화' 라고 하며 이를 담당하는 요소를 '쿼리 최적화 프로그램', '쿼리 최적화기' 또는 '옵티마이저' 라고 부르기도 한다.


쿼리 최적화 프로그램은 수행 가능한 실행 계획을 분석하고 예상 비용이 낮은 계획을 선택한다.

 

최적화는 CBO(Cost-Based Optimizer), 즉 '비용 기반' 최적화 수행과 미리 정해 놓은 규칙에 따라  RBO(Rule-Based Optimizer) 가 있다.


작성한 쿼리 문에 대한 예상 실행 계획과 실제 실행 계획에 대해 자세히 보고 싶으면

 

set showplan_text on

set showplan_all on (물리 연산자, 논리 연산자, 예상 로우 수 등 포함)

 

set statistics profile on

set statistics io on

set statistics time on

 

위의 구문들을 적절히 이용하면 된다

'SQL' 카테고리의 다른 글

SQL Server 셋팅하기  (0) 2020.01.07
Comments