Skąd pochodzi plan wykonania?


Odpowiedzi:


9

SQL Server 2012 ma wskaźnik w samym planie RetrievedFromCache, który może być „prawdziwy” lub „fałszywy”.

To wydaje się być właściwość, o którą pytasz.

To jest próbka (ostatni wiersz pokazuje właściwość):

<StmtSimple StatementCompId="1" StatementEstRows="1" StatementId="1" 
StatementOptmLevel="FULL" StatementOptmEarlyAbortReason="GoodEnoughPlanFound" 
StatementSubTreeCost="0.0508992" StatementText="SELECT COUNT(*) 
&#xD;&#xA;FROM sys.tables" StatementType="SELECT" 
QueryHash="0x9A4B63A948B30EA0" QueryPlanHash="0xF357CAE882D5B15D" 
RetrievedFromCache="true">

Niestety nie widzę niczego podobnego w planie wygenerowanym przez SQL Server 2008 R2.

W SQL Server 2008 R2 można użyć sys.dm_exec_query_statssystemowego DMV do sprawdzenia creation_timekolumny pod kątem planów o tej samej query_hashwartości. Skrót zapytania można uzyskać z nagłówka planu XML (patrz przykład powyżej). To zapytanie zwróci wiersze dotyczące planu wspomnianego powyżej:

SELECT *
FROM sys.dm_exec_query_stats qs
WHERE qs.query_hash = 0x9A4B63A948B30EA0;
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.