MSSQL查询历史SQL语句的执行计划

0    265    2

Tags:

👉 本文共约1939个字,系统预计阅读时间或需8分钟。

目录

简介

视图 sys.dm_exec_query_stats 是 SQL Server 中的一个动态管理视图(Dynamic Management View,DMV)。它提供了有关执行过的查询的性能统计信息,包括查询的执行次数、持续时间、逻辑读取次数、物理读取次数等。

sys.dm_exec_query_stats 视图的列提供了以下重要的统计信息:

  • sql_handle:查询的标识符,可用于从其他 DMV 中获取查询计划信息。
  • execution_count:查询执行的次数。
  • total_worker_time:查询的总工作时间(以微秒为单位)。
  • total_logical_reads:查询的总逻辑读取次数。
  • total_physical_reads:查询的总物理读取次数。
  • total_logical_writes:查询的总逻辑写入次数。
  • total_elapsed_time:查询的总经过时间(以微秒为单位)。

通过查询 sys.dm_exec_query_stats 视图,你可以获取查询的执行统计信息,并对查询的性能进行分析和优化。你可以根据需要使用其他 DMV(如 sys.dm_exec_requestssys.dm_exec_sql_text)联接查询,获取更详细的查询信息,如执行计划和查询文本等。

请注意,sys.dm_exec_query_stats 视图中的统计信息在 SQL Server 重启或缓存清除后会重置。因此,如果你需要长期跟踪和存储查询的性能统计信息,建议将其导出到其他表或存储过程中进行保存。

视图 sys.dm_exec_requests 是 SQL Server 中的一个动态管理视图(Dynamic Management View,DMV)。它提供了有关当前执行的请求(包括查询、备份、还原等)的信息,包括请求的状态、等待信息、执行进度等。

sys.dm_exec_requests 视图的列提供了以下重要的信息:

  • session_id:请求所属的会话标识符。
  • request_id:请求的标识符,唯一标识一个请求。
  • start_time:请求的开始时间。
  • status:请求的状态,如运行中(RUNNING)、等待(WAITING)、完成(COMPLETED)等。
  • command:请求执行的命令类型,如 SELECT、INSERT、UPDATE、BACKUP 等。
  • blocking_session_id:如果请求被阻塞,该列指示阻塞请求的会话标识符。
  • wait_type:如果请求正在等待某个资源,该列指示等待的资源类型。
  • wait_time:请求等待的时间长度(以毫秒为单位)。
  • cpu_time:请求已使用的 CPU 时间(以毫秒为单位)。
  • total_elapsed_time:请求的总经过时间(以毫秒为单位)。
  • percent_complete:请求的完成百分比。

通过查询 sys.dm_exec_requests 视图,你可以获取当前执行请求的信息,包括请求的状态、执行进度、等待情况等。这些信息对于监视和诊断正在执行的请求以及优化查询性能非常有用。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复