平时我们从执行计划里可以看到很多不同的物理操作,如Clustered Index Seek, Hash Match, Clustered Index Scan,Table Scan等。我们可以通过下面的SQL查看计划缓存里最频繁的物理操作:
SELECT TOP 3
RelOp.op.value('declare default element namespace "http://schemas.
microsoft.com/sqlserver/2004/07/showplan";
@PhysicalOp', 'varchar(50)') AS PhysicalOp,
dest.text,
deqs.execution_count,
RelOp.op.value('declare default element namespace "http://schemas.
microsoft.com/sqlserver/2004/07/showplan";
@EstimatedTotalSubtreeCost', 'float') AS EstimatedCost
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
CROSS APPLY sys.dm_exec_query_plan(deqs.plan_handle) AS deqp
CROSS APPLY deqp.query_plan.nodes('declare default element namespace
"http://schemas.microsoft.com/sqlserver/2004/07/showplan";
//RelOp') RelOp (op)
ORDER BY deqs.execution_count DESC