안녕하세요? “쓸만한게없네 윤선식입니다.”

오늘은 데이터베이스 엔진 튜닝 관리자(Database Engine Tuning Advisor) 의 간단한 사용법에 대해 소개하고자 합니다.

데이터베이스 엔진 튜닝 관리자는 사용하는 쿼리와 테이블 등을 분석해서 통계 데이터와 인덱스 작성을 권장하도록 해 주는 아주아주 훌륭한 툴입니다.


데이터베이스 엔진 튜닝관리자를 사용하시려면 먼저 프로파일러 추적 파일 또는 Table을 만들어야 합니다.


이에 대해선, 강성욱님께서 작성하신 아티클을 참고해 주세요. ^^.

http://www.sqler.com/367698


, 추적파일이 있다는 가정 하에 진행하고, 2005 2008의 기능이 비슷하므로 2005 위주로 작성했습니다.


1.
프로그램 à Microsoft SQL Server 2005 à 성능 도구à 데이터베이스 엔진 튜닝 관리자

1.jpg

2. 추적파일을 실행하고 튜닝을 할 DB를 선택합니다.

2.jpg

 

 

3. 튜닝 관리자가 열리면 돋보기 버튼을 눌러서 위에서 만들어 둔 파일을 선택합니다.

3.jpg


4.
파일을 지정하고, 튜닝할 DB 또는 개체를 선택합니다.

          4.jpg

5. 튜닝옵션은 필요한 경우에 조합이 가능하지만, 여기서는 특별히 다루지 않을 예정입니다. 준비가 되면 분석 시작버튼을 누릅니다.

5.jpg

l 참고로 이 작업은 시간도 많이 걸리고 부하도 많이 주기 때문에 업무시간에 실서버에 진행하는 것은 별로 권장하지 않아요. ^^.

6. 진행이 완료되면, 예상향상률과 통계, 인덱스 등의 내용이 표시됩니다.

6.jpg

l 참고로, 예상향상률이 낮은 경우 굳이 인덱스 튜닝 관리자를 실행하지 않는 것이 낫다고 하는 의견이 많습니다. 아주 안 좋은 환경에서 튜닝 관리자로 분석하면 예상향상률이 200% 이상도 나온다고 하는군요. ^^

l 보고서를 먼저 한 번 검토해 보시는 것도 중요합니다. 보고서 내용에 따라 작업순서를 정하시는 것도 좋습니다.

7. 해당 내용을 바로 적용하지 말고 권장 구성 저장을 통해 SQL Script 파일로 만들어서 검토합니다.

7.jpg 

8. 권장구성 Script에서 이름은 임의대로 지정되고, Index Include 의 경우 다소 중복되는 부분들도 있을 수 있으므로 이름을 고쳐서 보기 좋게 해 두시는 것이 관리에 좋습니다.


1)
원본

CREATE NONCLUSTEREDINDEX [_dta_index_ESMINV2T_8_245575913__K17_3_4_20] ON [dbo].[ESMINV2T]

(

[BARCODE] ASC

)

INCLUDE ( [OUT_QTY],

[OUT_WT],

[WH_CODE]) WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]

go


2)
수정본 샘플

CREATE NONCLUSTEREDINDEX IX_ESMINV2T_04 ON[dbo].[ESMINV2T]

(

[BARCODE] ASC

)

INCLUDE ( [OUT_QTY],

[OUT_WT],

[WH_CODE])

go


l
인덱스와 통계 적용 전의 실행계획과 이후의 실행계획을 비교해 보는 것도 흥미로운 일이 될 듯 합니다.

http://msdn.microsoft.com/ko-kr/library/ms166575.aspx: 자습서

+ Recent posts