एक और SQL सर्वर प्रश्न: मेरे पास एक सरल क्वेरी है जो काउंटरों को रीसेट करने के बाद मुझे सबसे सीपीयू गहन SQL देता है:
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
प्रश्न 1: वास्तव में क्या है plan_handle
? यह योजना के हैश की तरह प्रतीत नहीं होता है, जैसा कि ओरेकल में है। मैं पूछता हूं क्योंकि मैं उस स्थिति का पता लगाने में सक्षम होना चाहता हूं जिसमें एक बयान की योजना में बदलाव होता है।
प्रश्न 2: एक बार मेरे पास एक plan_handle है, मुझे वास्तविक योजना में दिलचस्पी है। मैं उदाहरण के लिए करते हैं तो,:
select * from sys.dm_exec_query_plan (0x060006001F176406B8413043000000000000000000000000)
Query_plan कॉलम में मुझे एक लिंक मिलता है, जब मैं क्लिक करता हूं तो XML डॉक्यूमेंट प्रदर्शित करता है। अगर मैं इसे डिस्क पर सेव करता हूं जो भी है। एसक्लिप्लान, मैं इसे विंडोज में डबल-क्लिक कर सकता हूं और यह प्रबंधन स्टूडियो में सही ढंग से प्रदर्शित होता है। निश्चित रूप से इस कदम से बचने का एक तरीका होना चाहिए ?!
प्रश्न 3: वहाँ एक रास्ता सेट SHOWPLAN_TEXT के पुराने दिनों में एक टेक्स्ट स्वरूप में एक्सएमएल वापस, जैसे कन्वर्ट करने के लिए है? मैं उन्हें ग्राफिक रूप से देखने में सक्षम होना चाहता हूं, लेकिन उन्हें कुछ सार्थक तरीके से अलग करना भी है।
धन्यवाद!
<ShowPlanXML xmlns="http://schemas.microsoft.com...
लेकिन अभी भी इसे सीधे प्रदर्शित करने का कोई तरीका नहीं है - मुझे इसे.sqlplan
पहले फ़ाइल के रूप में डिस्क पर सहेजने की आवश्यकता है । अजीब। धन्यवाद tho ':)