触发器造成死锁、作业多且频繁、中间表的大量使用、游标的大量使用、索引的设计不合理、事务操作频繁、SQL语句设计不合理,都会造成查询效率低下、影响服务器性能的发挥。我们可以使用sql server自带的性能分析追踪工具sql profiler分析数据库设计所产生问题的来源,进行有针对性的处理;下面小编收集了SQL Server中如何查询CPU占用高的SQL语句,希望大大家能有所帮助。

注意:SQL Server中查询CPU占用高的情况,经常会用到sys.sysprocesses ,dm_exec_sessions ,dm_exec_requests

1、查看当前的数据库用户连接数

USE master

GO

SELECT * FROM sys.[sysprocesses] WHERE [spid]>50 --AND DB_NAME([dbid])='gposdb'

SELECT COUNT(*) FROM [sys].[dm_exec_sessions] WHERE [session_id]>50

2、查CPU使用率前10 的SQL语句:

SELECT TOP 10

st.textAS SQL_Full--父级完整语句

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

((CASE statement_end_offset

WHEN -1THEN DATALENGTH(st.text)

ELSE qs.statement_end_offsetEND

- qs.statement_start_offset)/2) + 1)as SQL_Part--统计对应的部分语句

,CAST( ((qs.total_elapsed_time / 1000000.0)/qs.execution_count)AS DECIMAL(28,2) )AS [平均消耗秒数]

,CAST(qs.last_elapsed_time / 1000000.0AS DECIMAL(28, 2))AS [最后完成消耗秒数]

, qs.last_execution_timeAS [最后执行时间]

,CAST(qs.min_elapsed_time / 1000000.0AS DECIMAL(28, 2))AS [最小消耗秒数]

,CAST(qs.max_elapsed_time / 1000000.0AS DECIMAL(28, 2))AS [最大消耗秒数]

,CAST(qs.total_elapsed_time / 1000000.0AS DECIMAL(28, 2))AS [总消耗秒数]

, (qs.execution_count)AS [总执行次数]

, creation_timeAS [编译计划的时间]

,CAST(qs.last_worker_time / 1000000.0AS DECIMAL(28, 2))AS [最后完成占用CPU秒数]

, qp.query_plan

from sys.dm_exec_query_stats qs

CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle)AS st

CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp

WHERE qs.last_execution_time>DATEADD(n,-30,GETDATE())

ORDER BY qs.last_worker_timeDESC

3、查阻塞:

SELECT R.session_id AS BlockedSessionID ,

S.session_id AS BlockingSessionID ,

Q1.text AS BlockedSession_TSQL ,

Q2.text AS BlockingSession_TSQL ,

C1.most_recent_sql_handle AS BlockedSession_SQLHandle ,

C2.most_recent_sql_handle AS BlockingSession_SQLHandle ,

S.original_login_name AS BlockingSession_LoginName ,

S.program_name AS BlockingSession_ApplicationName ,

S.host_name AS BlockingSession_HostName

FROM sys.dm_exec_requests AS R

INNER JOIN sys.dm_exec_sessions AS S ON R.blocking_session_id = S.session_id

INNER JOIN sys.dm_exec_connections AS C1 ON R.session_id = C1.most_recent_session_id

INNER JOIN sys.dm_exec_connections AS C2 ON S.session_id = C2.most_recent_session_id

CROSS APPLY sys.dm_exec_sql_text(C1.most_recent_sql_handle) AS Q1

CROSS APPLY sys.dm_exec_sql_text(C2.most_recent_sql_handle) AS Q2

mysql查看cpu使用高sql语句_查询CPU占用高的SQL语句相关推荐

  1. mysql存储过程判断多个条件语句_存储过程里多条件判断(SQL组合查询)

    我存储过程里想实现多个传入参数的判断,里面有7个传入参数条件. CREATE PROCEDURE sp_tbWasteSource_Search ( @sd   datetime,           ...

  2. window服务器cpu过高的排查_服务器CPU使用率过高排查与解决思路

    发现服务器的cpu使用率特别高 排查思路: -使用top或者mpstat查看cpu的使用情况 mpstat -P ALL 2 1 Linux 2.6.32-358.el6.x86_64 (linux- ...

  3. mysql查阅某个日期的语句_mysql查询指定日期时间内的sql语句及原理

    查询指定日期时间内的sql语句的实现原理: 如果是月份就是当前的月减去你要统计的时间,比如要查询数据库中从今天起往前三个月的所有记录. 另外,在数据库设计阶段,要注意时间字段为int(11),保存在数 ...

  4. mysql hql查询语句_查询hql语句

    Hibernate-HQL 了解HQL 一.HQL定义 1.Hibernate QueryLanguage,Hibernate查询语言 2.HQL是面向对象的查询语言 3.HQL提供了丰富灵活的查询特 ...

  5. tp5循环查询语句_如何用Excel快速生成SQL语句,用过的人都说好

    Excel的公式自动生成想必大家都知道了,就是写好一个公式后直接往下拖,就可以将后面数据的公式自动生成. 今天我们就用这个功能来快速生成SQL语句. 导入Excel数据 Excel的数据有多种方式,这 ...

  6. 两个sql交集_如何使用性能分析工具定位SQL执行慢的原因?

    在前面的文章中就讲过了查询优化器,知道在查询优化器中会经历逻辑查询优化和物理查询优化.需要注意的是,查询优化器只能在已经确定的情况下(SQL 语句.索引设计.缓冲池大小.查询优化器参数等)决定最优的查 ...

  7. 结束下面sql块_如何执行超过100M的SQL脚本?

    技术_菜鸟 https://www.cnblogs.com/hai-ping/p/3939150.html 最近遇到一个问题,在SQL Server的查询分析器里面执行一个超过100MB的数据库脚本, ...

  8. java执行sql文件_面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他

    初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...

  9. mysql查询表中名字包含某个字符_查询当前数据库中所有用户表中哪些字段包含某个字符串...

    展开全部 CREATE PROCEDURE FindString(@Value VARCHAR(1024)) AS BEGIN SET NOCOUNT ON; DECLARE @SQL VARCHAR ...

最新文章

  1. pandas如何读取一个文件夹下的所有文件
  2. SAP 采购订单税金抓取方法
  3. 手把手教你安装VMtools
  4. 新手网站推广邮件群发一点心得
  5. Hibernate逍遥游记-第2章-使用hibernate.properties
  6. SRE 是如何保障稳定性的
  7. 草稿selenium显示等待
  8. DirectX9.03D Direct3D初始化
  9. Android学习路线图
  10. 样条曲线转换为NUBRS曲线
  11. cad转pdf怎么变成黑白?
  12. 疫情影响供求再平衡,运用芝商所原油期货对冲风险
  13. 如何计算机画函数图形,Excel中怎么绘制出好看的函数图像
  14. Chapter 76 - 89
  15. 从「雄狮」到「瑶光」,奇瑞历史突破背后的十字路口
  16. STC8通过SPI读写W25Q128
  17. 未来应用陈鸿:被微信封掉公众号后怎么办?——给微信创业者的10点真诚建议
  18. Linux中使用命令查看目录信息、查看当前目录路径、清楚终端内容
  19. 热图3:热图行列分组信息注释
  20. 云原生周报 | Fluent Bit下载量达到10亿次;对 Istio 1.11的支持已经结束

热门文章

  1. yolov5代码详解-build_targets(p, targets, model)
  2. python十进制小数转二进制_Python实现的十进制小数与二进制小数相互转换功能
  3. Stitch Fix的创新和突破——用数据的心智经营公司
  4. Html5的Canva绘制动态时钟显示当前时间!!!(附源码)
  5. nodejs SPAWN出现乱码
  6. 是时候“揭露”酒企那些吸金的私域营销数字化利器了 | 附案例
  7. 诚迈科技子公司智达诚远精耕智能驾驶,为商用落地注入创新力量
  8. srm采购管理系统有那些功能
  9. [MAUI 项目实战] 手势控制音乐播放器(四):圆形进度条
  10. Waf功能、分类与绕过