Dari mana datangnya rencana eksekusi?

Jawaban:

9

SQL Server 2012 memiliki indikator dalam paket itu sendiri RetrievedFromCache, yang dapat berupa "benar" atau "salah".

Tampaknya ini properti yang Anda tanyakan.

Ini adalah sampel (baris terakhir menunjukkan properti):

<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">

Sayangnya, saya tidak melihat hal serupa dalam paket yang dibuat oleh SQL Server 2008 R2.

Di SQL Server 2008 R2, Anda bisa menggunakan sys.dm_exec_query_statssistem DMV untuk memeriksa creation_timekolom untuk paket yang memiliki nilai yang sama query_hash. Hash kueri dapat diperoleh dari tajuk rencana XML (lihat contoh di atas). Kueri ini akan mengembalikan baris mengenai paket yang disebutkan di atas:

SELECT *
FROM sys.dm_exec_query_stats qs
WHERE qs.query_hash = 0x9A4B63A948B30EA0;
Max Vernon
sumber