sqlserver 查询计划相关
--这个查询为所有缓存的查询计划返回XML显示计划 SELECT qplan.query_plan AS [Query Plan] FROM sys.dm_exec_query_stats AS qstats ?CROSS APPLY sys.dm_exec_query_plan(qstats.plan_handle) AS qplan; --想这样找到某个查询计划非常困难,因为查询文本被包含在XML显示计划内部。 WITH XMLNAMESPACES ('http://schemas.microsoft.com/sqlserver/2004/07/showplan' AS sql) SELECT ?C.value('@StatementId','INT') AS [No], ?C.value('(./@StatementText)','NVARCHAR(MAX)') AS [Statement Text], ?qplan.query_plan AS [Query Plan] FROM (SELECT DISTINCT plan_handle FROM sys.dm_exec_query_stats) AS qstats ?CROSS APPLY sys.dm_exec_query_plan(qstats.plan_handle) AS qplan ?CROSS APPLY query_plan.nodes('/sql:ShowPlanXML/sql:BatchSequence/sql:Batch/ sql:Statements/ descendant::*[attribute::StatementText]') AS T(C) ORDER BY plan_handle,[No]; --强制sqlserver 使用查询计划 (也许只是短期高效率 ) select top 10 cp.CPContent,uw.ActorName,uw.ActorTime --根据得到的XML执行计划 使用 use plan 强制使用此执行计划 select top 10 cp.CPContent,uw.ActorTime --查看性能统计信息和缓存的查询计划
--查看统计信息 --删除统计信息drop statistics tab.col_name (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |