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 |