2011-09-19 3 views
9

일괄 처리의 1 %보다 큰 항목 만 표시하는 방법이 있습니까?SQL Server 실행 계획 : 병목 현상을 표시하는 필터?

proc에서 병목 현상을 찾으려고합니다. 루프 및 기타 논리와 99 %의 결과 실행 계획에 대해 신경 쓰지 않지만 Management Studio에서 스크롤하는 것은 어렵습니다. 천천히.

답변

12

SQL Sentry Plan Explorer를 보았습니까? 이 도구는 Management Studio와 통합 할 수있는 100 % 무료 도구이며 계획을 분석 할 때 훨씬 더 명확하게 제공합니다. 매우 빠른 예를 들어 당신이 신속하게 그래픽 계획에서 가장 비싼 노드 (들)에 초점을 맞출 수있는 방법을 보여줍니다

enter image description here

다운로드 :

http://sqlsentry.net/plan-explorer/sql-server-query-view.asp

내가 쓴 최근 블로그 게시물, 일반적인 요구에 따라 다른 사람들이 Plan Explorer를 사용하여 얼마나 쉽게 실행 계획을 수립 할 수 있는지 설명 할 수 있습니다 : http://sqlblog.com/blogs/aaron_bertrand/archive/2011/09/13/a-demo-kit-for-sql-sentry-plan-explorer.aspx

실제 질문에 따라 계획에서 비용이 적게 드는 작업이나 비용이 드는 작업은 숨기지 않지만 가장 비싼 노드를 빨간색, 주황색 및 노란색으로 강조 표시합니다. 조회 및 검색을 강조 표시하고 CPU + I/O, CPU 만 또는 I/O만으로 비용을 %로 표시 할 수도 있습니다 (SSMS에서는 조합 만 사용할 수 있음). 찾고자하는 성능 문제는 속성 패널이나 기발한 툴팁에 숨겨 지거나 전혀 표시되지 않고 전면 또는 가운데 또는 자세한 탭 중 하나에 있습니다. 그래픽 계획의 개선 외에도 명령문 트리 노드에서 정렬하여 루프에서 발생하는 특정 명령문 (관련이 있지만 비용이 많이 드는 명령문이 많이 있음)에 집중할 수 있습니다. 실제 행에 대한 예상 행과 실제 행의 차이는 잠재적 통계 문제를 부각시킬 수 있습니다. 키 조회에 필요한 열은 빠진 색인 열을 신속하게 식별 할 수 있습니다 (또는 그렇게해서는 안되는 SELECT * 쿼리). 런타임 및 컴파일 된 매개 변수는 RECOMPILE, OPTIMIZE FOR을 사용하거나 "임시 워크로드에 맞게 최적화"를 사용하려는 경우 매개 변수 스니핑 문제를 지적 할 수 있습니다. 마지막으로 Management Studio와는 달리 도구 내에서 실제 계획을 생성하여 런타임 메트릭 (기간, CPU, 읽기 등)을 쉽게 생성 할 수 있습니다. 네이티브 도구를 사용하면 SET 옵션을 사용하거나 프로파일 러를 사용하여 이러한 메트릭을 가져올 수 있습니다. - 심지어는 결과를 클라이언트로 가져 오는 것과 관련된 작업을 할인해야합니다 (Plan Explorer는 서버에서 쿼리를 실행하지만 결과는 무시합니다).

+0

+1 공구 권장 사항입니다. – Icarus

1

방금 ​​SSMS Tools Pack Addin의 최신 버전을 다운로드했으며 현재이 점에 도움이되는 몇 가지 새로운 기능이 있음을 알 수 있습니다.

기본적으로 전체 예상 비용이나 예상 입출력 비용을 구성 할 수 있으며이 임계 값을 초과하는 운영자는 비용의 순서대로 계획의 왼쪽에 나열되고 클릭하면 특정 조건을 탐색 할 수 있습니다 운영자.

Screenshot

은 더 나은 아이디어에 대한 Execution Plan Analyser 스크린 샷을 참조하십시오.

관련 문제