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

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

 

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/119775.html原文链接:https://javaforall.net

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


相关推荐

  • csgo怎么绑定一键跳投_CSGO投掷物一键跳投的设置方法[通俗易懂]

    所需工具:空白的文本文档适用范围:跳投高抛/跳投中抛/跳投低抛步骤一:打开新建的文本文档,输入如下内容alias+jumpthrow”+jump;-attack;-attack2″;alias-jumpthrow-jump;bindt+jumpthrow;(注释:t为你想绑定的键位)步骤二:保存文档,重命名为a.cfg(其实只要是.cfg结束即可),此时文件应…

    2022年4月12日
  • Java SSM框架面试题「建议收藏」

    Java SSM框架面试题「建议收藏」Spring入门:https://blog.csdn.net/qq_40323256/article/details/89738330Spring中的动态代理和aop的自定义通知:https://blog.csdn.net/qq_40323256/article/details/89754201SpringMVC入门:https://blog.csdn.net/qq_40323256/ar…

    2022年6月16日
  • 什么是bs模型_cs模型人物看不见

    什么是bs模型_cs模型人物看不见C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。(用的是ip,tcp/udp通信协议)B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种…

    2022年9月17日
  • HbuilderX打包app,Hbuilder怎么打包app,H5打包成app,H5怎么打包成app「建议收藏」

    1.下载HbuilderX之后新建项目2.在这里选则你需要新建的项目类型,本人打包的是h5app,选的5+app3.选择好项目本地存放的地址,编写项目名,之后点击创建4.打开刚刚创建的那个项目,点击打开manifest.json,就是下图这样子5.填写你的h5项目地址6.基本配置(看图),太简单太多自己研究7.SDK配置里可以配置你的项目的appid、key其他配置,比如你的项目…

    2022年4月14日
  • 史上最全的中高级JAVA工程师-面试题汇总

    史上最全的中高级JAVA工程师-面试题汇总史上最全的java工程师面试题汇总,纯个人总结,精准无误。适合中高级JAVA工程师。

    2022年6月13日
  • esp32cam远程监控(局域网的组成)

    ESP32-CAM实现局域网/远程视频传输手上这个ESP32-CAM买回来已经放了一个学期了,最近才开始玩,试了试用它来实现视频传输。局域网的视频传输比较简单,基本能正确把例程烧进去就可以了,这篇文章主要记录一下远程视频传输的实现。ESP32-CAM实现局域网/远程视频传输ESP32-CAM实现局域网/远程视频传输方法一:PlatfromIO例程+路由器内网穿透条件1.直接使用Platfr…

    2022年4月12日

发表回复

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

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