본문 바로가기
DataBase/MS-SQL

2017-11-29

by hiro1983 2017. 11. 30.

DBMS가 쿼리를 분석하여 데이터를 가장 효율적으로 추출하는 방법을 스스로 판단해야 하는 과정을 "쿼리 최적화" 라고 하며

이를 담당하는 구성 요소를 "쿼리 최적화기" 또는 "옵티마이저"라고 한다.


최적화를 수행하는 방법은 CBO, RBO 가 존재한다.


CBO : 비용을 추산하여 예상 비용이 가장 낮은 계획을 선택하여 실행계획을 생성한다.

RBO : 미리 정해놓은 규칙에 따라 실행계획을 생성한다.


SQL Server는 CBO 기반이다.


실행계획 : 사용자가 요청한 SQL을 최적으로 수행하고자 SQL Server가 내부적으로 수립한 일련의 처리 절차


예상 실행계획 : 어떤 절차로 실행될지 미리 확인하고자 할 때 사용 (X-Ray)

실제 실행계획 : 실제로 실행하고서 어느 곳에서 어떤 부하가 나타났는지 확인하고자 할 때 사용 (MRI)


Index Scan : 해당 인덱스를 처음부터 끝까지 모두 액세스

Index Seek : 인덱스를 1회 탐색


실행계획은 같은 레벨에서는 위에서 아래로 내려가고, 계층 레벨에서는 오른쪽(하위)에서 왼쪽(상위)으로 올라간다.



'DataBase > MS-SQL' 카테고리의 다른 글

[2013-08-12] RDBMS? ORM?  (0) 2013.08.12
[2013-08-09] 샘플 DB 설치하기  (0) 2013.08.09