繁体   English   中英

在特定数据库中查找具有索引扫描的查询

[英]Find queries with index scans in particular database

我如何使用查询存储(不是 dm_exec 表)在 sql 中找到特定数据库中的索引扫描查询。 我需要查询才能知道。

以下查询可能有助于解决您的问题

SELECT * FROM (
SELECT 
        databases.name,
    dm_exec_sql_text.text AS TSQL_Text,
    dm_exec_query_stats.creation_time, 
    dm_exec_query_stats.execution_count,
    dm_exec_query_stats.total_worker_time AS total_cpu_time,
    dm_exec_query_stats.total_elapsed_time, 
    dm_exec_query_stats.total_logical_reads, 
    dm_exec_query_stats.total_physical_reads, 
    dm_exec_query_plan.query_plan
FROM sys.dm_exec_query_stats 
CROSS APPLY sys.dm_exec_sql_text(dm_exec_query_stats.plan_handle)
CROSS APPLY sys.dm_exec_query_plan(dm_exec_query_stats.plan_handle)
INNER JOIN sys.databases
ON dm_exec_sql_text.dbid = databases.database_id

) AS TMP_TBL WHERE CAST(query_plan AS nvarchar(max)) LIKE '%Clustered Index Scan%'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM