在Server Management Studio中显示查询计划
另一个SQL Server问题:自计数器重置以来,我有一个简单的查询,该查询为我提供了最多CPU密集型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?它似乎不是计划的哈希,就像在Oracle中一样。我问是因为我希望能够发现陈述计划发生变化的情况。 问题2:一旦有了plan_handle,我会对实际计划感兴趣。因此,例如: select * from sys.dm_exec_query_plan (0x060006001F176406B8413043000000000000000000000000) 在query_plan列中,我获得了一个链接,单击该链接可显示XML文档。如果将它保存为磁盘上的what.sqlplan,则可以在Windows中双击它,并在Management Studio中正确显示。肯定有某种方法可以避免此步骤吗? 问题3:有没有办法像过去的SET SHOWPLAN_TEXT一样将XML转换回文本格式?我希望能够以图形方式查看它们,还希望以某种有意义的方式自动对它们进行比较。 谢谢!