Dalam SQL Server, apa yang diukur oleh counter Perfmon "Workload Group Stats: Suboptimal plan / sec"?
Ini salah satu penghitung Gubernur Sumber Daya , jadi diukur di grup beban kerja (yang Anda miliki apakah Anda mengonfigurasi RG atau tidak.)
Saya tidak bertanya apa yang membuat rencana yang baik atau rencana yang buruk, tetapi secara spesifik apa yang diukur, dan kemana Anda pergi untuk menemukan rencana yang tepat? Misalnya, saya tidak dapat menemukan apa pun di Peristiwa Diperpanjang yang tampaknya cocok dengan kueri yang memicu penghitung "Paket optimal / detik".
sql-server
Brent Ozar
sumber
sumber
StatementOptmEarlyAbortReason="TimeOut"
sulit untuk mengatakannya dengan pasti! Itu tidak berkorelasi baik dengan penghitung perfmon.Jawaban:
Ada dua item trek penghitung ini:
Nilai-nilai dapat ditemukan dalam rencana XML seperti yang diusulkan Max dalam komentar. Saya dapat mengkonfirmasinya dengan cara ini sejak setidaknya SQL Server 2008.
Kudos to @ Max Vernon dan @ Jo Obbish.
Deskripsi
MSDN BOL TechnetDocs tidak sangat membantu.sumber
sys.dm_os_performance_counters
dan mencari cache rencana untuk item Timeout, dan melihat DMV tidak bertambah sementarasys.dm_exec_query_stats
itu menunjukkan kueri habis waktu yang baru saja digunakan. Mungkin saya akan mengumpulkan MCVE besok untuk mengeksplorasi itu. Sebagai catatan, hal itu terjadi pada salah satu contoh produksi EDW kami yang menjalankan 2012 Enterprise.