쿼리 실행 계획 2

확장이벤트를 사용한 실행 계획 캡처

확장이벤트를 사용한 실행 계획 캡처 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 확장이벤트를 사용하여 실행 계획을 캡처하는 방법에 대해서 알아본다. 캡처된 쿼리 실행 목록에 다음과 같은 이름이 있다면 플랜을 확인하여 검토할수 있도록 한다. NojoinPredicate (2005 이상) ColumnWithNoStatistics (2005 이상) UnmatchedIndexes (2008 이상) PlanAffectingConvert (2012 이상) 아래 스크립트는 확장이벤트를 생성한다. 확장이벤트 생성시 너무 많은 오버헤드가 발생하지 않도록 필요한 내용만 추가하도록 한다. 아래 확장 이벤트는 SQL_Text(쿼리문)과 plan_handle(실행계획)..

Ad-hoc 쿼리와 실행계획

Ad-hoc 쿼리와 실행계획 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 Ad-hoc 쿼리를 실행 할 때 대소문자, 띄어쓰기, 스키마에 따라 기존의 실행 계획이 사용되지 않고 새로운 실행 계획이 생성되어 사용된다. Ad-hoc 쿼리는 컴파일 과정을 거치며 실행 계획을 생성하며 컴파일과 실행 계획 생성에 따른 성능 병목이 발생 할 수 있다. [대소문자, 공백에 따른 실행계획 생성] Ad-hoc으로 쿼리를 사용 할 경우 Case와 공백에 따라서도 다른 쿼리로 인식되어 새로운 실행계획이 생성된다고 하였다. 다음 예제를 통해 알아보자. USE AdventureWorks2014; DBCC FREEPROCCACHE WITH NO_INFOMSGS; GO SELECT S..