sql-server - SQL Server:如何查看对表的查询统计信息
问题描述
我想找出最常对表进行哪些查询。这些统计信息存储在 SQL Server 的什么位置?
解决方案
除了使用扩展事件之外,SQL Server 还提供对系统动态管理视图 (DMV) 中这些统计信息的访问。这些视图是暂时的,不会在重新启动后持续存在。
有许多使用这些视图作为临时机制的示例,用于查找对表进行了哪些查询。
一些可以帮助您入门的方法:
SELECT * FROM sys.dm_exec_query_stats
SELECT TOP 1 * FROM sys.dm_exec_query_stats T1
CROSS APPLY sys.dm_exec_query_plan (T1.plan_handle )
SELECT TOP 1 * FROM sys.dm_exec_query_stats T1
CROSS APPLY sys.dm_exec_SQL_text (T1.SQL_handle )
根据 SQL Server 的版本,您可能希望使用管理数据仓库、查询存储或第 3 方监控工具将此数据保存到管理数据库。
推荐阅读
- javascript - .map 不是 TypeScript 数组的函数错误
- mysql - ( INSERT ... ON DUPLICATE KEY UPDATE ... ),如何更改更新条件字段?
- mscoco - MS COCO 数据集中的图像来源是什么?
- reactjs - 无法发送道具以响应从 index.esm.js 文件导入的组件
- debugging - 如何让 .NET 5 符号显示在 Process Hacker 或 Process Explorer 的调用堆栈中?
- apache-spark - Spark withColumn 更改模式中的列可为空属性
- android - android 无障碍 API 中 setTouchExplorationPassthroughRegion() 的用途是什么?
- blockchain - 暗网中的比特币支付如何运作?
- java - Neo4J 从 java 中修剪事务日志
- python - 如何测试保存在 .pth.tar 文件中的训练模型?