Pertanyaan lain SQL server: Saya memiliki pertanyaan sederhana yang memberi saya SQL intensif paling CPU sejak penghitung diatur ulang:
select top 10
sum(qs.total_worker_time) as total_cpu_time,
sum(qs.execution_count) as total_execution_count,
qs.plan_handle, st.text
from
sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(qs.plan_handle) as st
group by qs.plan_handle, st.text
order by sum(qs.total_worker_time) desc
Pertanyaan 1: Apa sebenarnya itu plan_handle
? Tampaknya bukan hash dari rencana, seperti di Oracle. Saya bertanya karena saya ingin dapat mendeteksi situasi di mana rencana pernyataan mengalami perubahan.
Pertanyaan 2: Setelah saya memiliki plan_handle, saya tertarik dengan rencana yang sebenarnya. Jadi saya lakukan, misalnya:
select * from sys.dm_exec_query_plan (0x060006001F176406B8413043000000000000000000000000)
Di kolom query_plan saya mendapatkan tautan bahwa ketika saya mengklik menampilkan dokumen XML. Jika saya menyimpannya di disk sebagai apapun.sqlplan, saya dapat mengklik dua kali di Windows dan ditampilkan dengan benar di Management Studio. Tentunya harus ada cara untuk menghindari langkah ini ?!
Pertanyaan 3: Apakah ada cara untuk mengubah kembali XML ke format tekstual, seperti di masa lalu SET SHOWPLAN_TEXT? Saya ingin dapat melihatnya secara grafis, tetapi juga mengotomatiskannya dengan cara yang bermakna.
Terima kasih!
sumber
<ShowPlanXML xmlns="http://schemas.microsoft.com...
tetapi masih ada ada cara untuk menampilkannya secara langsung - saya harus menyimpannya ke disk sebagai.sqlplan
file pertama. Aneh. Terima kasih ya :)