Bir infaz planı nereden geliyor?


Yanıtlar:


9

SQL Server 2012, planın kendisinde RetrievedFromCache"true" veya "false" olabilecek bir göstergeye sahiptir .

Bu, sorduğunuz mülk gibi görünüyor.

Bu bir örnektir (son satır özelliği gösterir):

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

Ne yazık ki, SQL Server 2008 R2 tarafından oluşturulan bir planda benzer bir şey görmüyorum.

SQL Server 2008 R2'de, sütunu aynı değere sahip planlar sys.dm_exec_query_statsiçin incelemek üzere sistem DMV'sini kullanabilirsiniz . Sorgu karması, plan XML'in başlığından elde edilebilir (yukarıdaki örneğe bakın). Bu sorgu, yukarıda belirtilen planla ilgili satırları döndürür:creation_timequery_hash

SELECT *
FROM sys.dm_exec_query_stats qs
WHERE qs.query_hash = 0x9A4B63A948B30EA0;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.