用于重新编译的工具和命令

用于重新编译的工具和命令

 

1.SQL Prifiler:捕捉事件类型为SP和T-SQL的事件(Starting、Stmtcompleted、Recompile、Completed、CacheInsert、CacheHit、CacheMiss)可以找到重新编译的原因。

2.SQLServer的系统用于查看分析执行计划的DMV,如:

  • select st.text,cp.plan_handle,cp.usecounts,cp.size_in_bytes,cp.cacheobjtype,cp.objtype

from sys.dm_exec_cached_plans cp

cross apply sys.dm_exec_text(cp.plan_handle) st order by cp.usecounts desc 

–列:st.text:查询中生成查询计划的sql文本。

        cp.usecounts:重用计划查询的次数。

        cp.size_in_bytes:查询计划中使用的字节数。

        cp.cacheobjtype:缓存对象的类型。

  • select *from sys.dm_exec_cached_plans –查询缓存的执行计划
  • select* from sys.dm_os_memory_cache_counters–查询缓存对象相关信息
  • 通过执行计划缓存找到数据库总耗时最长的20个查询语句

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

 SELECT TOP 20

   CAST(qs.total_elapsed_time / 1000000.0 AS DECIMAL(28, 2))

                                      AS [Total Duration (s)]

   , CAST(qs.total_worker_time * 100.0 / qs.total_elapsed_time

                                AS DECIMAL(28, 2)) AS [% CPU]

   , CAST((qs.total_elapsed_time – qs.total_worker_time)* 100.0 /

         qs.total_elapsed_time AS DECIMAL(28, 2)) AS [% Waiting]

   , qs.execution_count

   , CAST(qs.total_elapsed_time / 1000000.0 / qs.execution_count

                 AS DECIMAL(28, 2)) AS [Average Duration (s)]

   , SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1,      

     ((CASE WHEN qs.statement_end_offset = -1

       THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2

       ELSE qs.statement_end_offset

       END – qs.statement_start_offset)/2) + 1) AS [Individual Query

   , qt.text AS [Parent Query]

   , DB_NAME(qt.dbid) AS DatabaseName

   , qp.query_plan

 FROM sys.dm_exec_query_stats qs

 CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt

 CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp

 WHERE qs.total_elapsed_time > 0

 ORDER BY qs.total_elapsed_time DESC  

  • Sys.dm_exec_cached_plans:    包含缓存的执行计划,每个执行计划对应一行。
  • Sys.dm_exec_plan_attributes: 这是一个系统函数,每一个执行计划都对应着一些属性,在这个系统函数中包含着这些属性。
  • Sys.dm_exec_sql_text:             这是一个系统函数,返回文字格式的执行计划。
  • Sys.dm_exec_query_plan:        这是一个系统函数,返回xml格式的执行计划。

3.虚拟表

  • SQL Server 2008还提供了一个兼容性的视图sys.syscacheobject,这个视图中保存了所有的执行计划的信息。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119742.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sql if语句实例[通俗易懂]

    sql if语句实例[通俗易懂]if函数语法:if(booleantestCondition,value1,value2)返回值:当判断条件testCondition为TRUE时,返回value1;否则返回value2示例:原始数据转化:SELECTapp_list,if(account_id>20,1,0)FROMtemp.bdl_op_crawler_loan0902…

    2022年7月17日
    15
  • 两个向量内积的几何意义_向量外积的几何意义

    两个向量内积的几何意义_向量外积的几何意义https://www.zhihu.com/question/48308610/answer/996133623不过的确,我们要这个东西有什么意义呢?为什么平白无故引入这个概念呢?数学家很多时候引入一个新概念,都是为了方便更其他计算,或解释物理现象。解释物理现象:力的做功,当力的向量和移动距离向量有夹角时,力的功就是力向量与距离向量的点积。方便复杂计算:例如,向量的点积为零,意味着垂直,这在证明垂直问题上有很大作用。…

    2025年11月21日
    4
  • iphone android换机助手下载,腾讯换机助手手机最新版 目前最好用的安卓/苹果一键换机工具…

    iphone android换机助手下载,腾讯换机助手手机最新版 目前最好用的安卓/苹果一键换机工具…换机助手软件介绍换机助手是腾讯开发的一款跨平台手机资料迁移工具,它可以在安卓与安卓,苹果与苹果,安卓与苹果手机之间进行数据迁移,安卓手机可以直接在下面下载APP,而苹果手机则需要在自带的APPSTORE中搜索“换机助手”下载安装,这也是非常实用的一款程序了!换机助手软件功能:该软件可以通过调用手机创建热点,进行两部手机匹配互联,零消耗网络流量传输手机资料。目前已支持安卓Android与苹果iOS…

    2022年5月26日
    77
  • 久坐时间app安卓_提醒喝水和久坐的app

    久坐时间app安卓_提醒喝水和久坐的app真时运动app安卓版是一款运动健康管理软件,它有强大的计步功能,可快速帮助用户解决运动计步问题,还能连接运动装备智能监控,喜欢的用户快来下载吧!软件介绍真时运动app是一款用于管理可穿戴设备的应用,目前真时运动app已支持真时无限运动手表HC、真时轻智能腕表KRONABY、真时无限运动手表HYPE以及真时青春运动社交手环S8。真时运动app与硬件连接后,可接收来自手机的消息通知、来电通知、日程提醒…

    2022年9月25日
    3
  • mqtt安卓客户端_网络抓包工具哪个好

    mqtt安卓客户端_网络抓包工具哪个好MQTT客户端工具介绍概览在学习和使用MQTT的过程中,一个得心应手的客户端工具可以极大的方便使用者进行MQTT特性的探索和功能组件的调试。来自世界各地的开发者们围绕不同操作系统、运行平台,开发出了许多针对MQTT协议的客户端测试工具。这些客户端工具种类繁多,功能侧重点不尽相同,质量层次不齐,因此,对于初学者乃至MQTT专家来说,如何选择一个适用的MQTT客户端工具是一个难题。本篇文章将尽可能的搜集整理,对市面上各类MQTT客户端工具做一个全面的测评以供读者参考。MQTT

    2025年7月7日
    4
  • bullet HashMap 内存紧密的哈希表

    bullet HashMap 内存紧密的哈希表

    2022年2月1日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号