MS SQL 튜닝 하기
1. MS SQL Server 쿼리 최적화 하기
2. 실행 계획 설정 및 통계 업데이트 하기
실행 계획은 위에서 아래, 오른쪽 에서 왼쪽으로 본다.
Physical Operation : 물리 구현 알고리즘 (Nexted Loops, Merge Join)
Logical Operation : 명령문 처리에 사용되는 논리 함수 (Inner Join, Outer Join)
실행 계획 Text 로 표시하기
SET SHOWPLAN_TEXT ON
SET SHOWPLAN_ALL (자세한 내용 표시)
실행 계획과 실제 실행 했을 때 결과 비교하기
SET STATISTICS PROFILE ON (실행 한 후 해당 PLAN 표시)
EstimateRows / EstimateExcutes 와 Rows / Excutes의 값이 불일치 할 경우 통계 업데이트를 해주도록 하자.
통계 업데이트
- 구문
UPDATE STATISTICS table | view
[
{
{ index | statistics_name }
| ( { index |statistics_name } [ ,...n ] )
}
]
[ WITH
[
[ FULLSCAN ]
| SAMPLE number { PERCENT | ROWS } ]
| RESAMPLE
| <update_stats_stream_option> [ ,...n ]
]
[ [ , ] [ ALL | COLUMNS | INDEX ]
[ [ , ] NORECOMPUTE ]
] ;
<update_stats_stream_option> ::=
[ STATS_STREAM = stats_stream ]
[ ROWCOUNT = numeric_constant ]
[ PAGECOUNT = numeric contant ]
- 예) 단일 테이블에 대한 모든 통계 업데이트
USE AdventureWorks;
GO
UPDATE STATISTICS Sales.SalesOrderDetail;
GO
참고
http://technet.microsoft.com/ko-kr/library/ms187348.aspx
SQL Server 2000/2005 튜닝 (정원혁, 손광수 공저)