SQL Server中查询CPU占用高的SQL语句
类别:数据库 浏览量:9253
时间:2014-8-20 SQL Server中查询CPU占用高的SQL语句
SQL Server中查询CPU占用高的SQL语句SQL Server中查询CPU占用高的情况,会用到sys.sysprocesses ,dm_exec_sessions ,dm_exec_requests
一、查看当前的数据库用户连接有多少
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
二、选取前10个最耗CPU时间的会话
SELECT TOP 10
[session_id],
[request_id],
[start_time] AS '开始时间',
[status] AS '状态',
[command] AS '命令',
dest.[text] AS 'sql语句',
DB_NAME([database_id]) AS '数据库名',
[blocking_session_id] AS '正在阻塞其他会话的会话ID',
[wait_type] AS '等待资源类型',
[wait_time] AS '等待时间',
[wait_resource] AS '等待的资源',
[reads] AS '物理读次数',
[writes] AS '写次数',
[logical_reads] AS '逻辑读次数',
[row_count] AS '返回结果行数'
FROM sys.[dm_exec_requests] AS der
CROSS APPLY
sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id]>50 AND DB_NAME(der.[database_id])='gposdb'
ORDER BY [cpu_time] DESC
三、查询前10个最耗CPU时间的SQL语句
--在SSMS里选择以文本格式显示结果
SELECT TOP 10
dest.[text] AS 'sql语句'
FROM sys.[dm_exec_requests] AS der
CROSS APPLY
sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id]>50
ORDER BY [cpu_time] DESC
四、查询会话中有多少个worker在等待
SELECT TOP 10
[session_id],
[request_id],
[start_time] AS '开始时间',
[status] AS '状态',
[command] AS '命令',
dest.[text] AS 'sql语句',
DB_NAME([database_id]) AS '数据库名',
[blocking_session_id] AS '正在阻塞其他会话的会话ID',
der.[wait_type] AS '等待资源类型',
[wait_time] AS '等待时间',
[wait_resource] AS '等待的资源',
[dows].[waiting_tasks_count] AS '当前正在进行等待的任务数',
[reads] AS '物理读次数',
[writes] AS '写次数',
[logical_reads] AS '逻辑读次数',
[row_count] AS '返回结果行数'
FROM sys.[dm_exec_requests] AS der
INNER JOIN [sys].[dm_os_wait_stats] AS dows
ON der.[wait_type]=[dows].[wait_type]
CROSS APPLY
sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id]>50
ORDER BY [cpu_time] DESC
五、查询CPU占用高的语句
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,
execution_count,
(SELECT SUBSTRING(text, statement_start_offset/2 + 1,
(CASE WHEN statement_end_offset = -1
THEN LEN(CONVERT(nvarchar(max), text)) * 2
ELSE statement_end_offset
END - statement_start_offset)/2)
FROM sys.dm_exec_sql_text(sql_handle)) AS query_text
FROM sys.dm_exec_query_stats
ORDER BY [avg_cpu_cost] DESC
标签:SQL Server
您可能感兴趣
- sql server 2014配置文件路径(SQL Server 2012 FileTable 新特性详解)
- sqlserver 高级查询(利用 SQL Server 过滤索引提高查询语句的性能分析)
- sqlserver语句中的temp(SQL SERVER中强制类型转换cast和convert的区别详解)
- sql server中的逻辑读、物理读和预读
- SQL SERVER 数据库主键
- sqlserver存储过程参数默认值(sql server使用临时存储过程实现使用参数添加文件组脚本复用)
- sqlserver分区查询语句(SQL Server中的集合运算: UNION, EXCEPT和INTERSECT示例代码详解)
- sql server重建索引
- sqlserver序列可以自定义(sql server 自定义分割月功能详解及实现代码)
- sql提交事务代码(SQL SERVER提交事务回滚机制)
- mysql server安装图解教程(mysql容器之间的replication配置实例详解)
- 2021-10-28 10:49:05
- sql server表字段数据类型(SQL Server数据库中伪列及伪列的含义详解)
- sqlserver游标使用场景(解析SQL Server聚焦移除Bookmark Lookup、RID Lookup、Key Lookup)
- sqlserver索引实例(SQL Server索引的原理深入解析)
- sqlserver连接字符串函数(SQL SERVER 2012新增函数之字符串函数FORMAT详解)
- 泰国旅游业怎么样(泰国的旅游产业)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
- 菲律宾特产(菲律宾特产最值得买回国)
热门推荐
- dedecms制作的网站如何发布(DedeCms后台添加编辑文章空白的解决方法)
- iframe嵌入页面高度自动适应
- smartbattery插件正确使用方法(Smarty模板配置实例简析)
- python怎么在csv修改数据(python 编写输出到csv的操作)
- 织梦dedecms的时间调用标签(dedecms/织梦专题节点列表内容实现分页的方法介绍)
- python大数据学习顺序(Python如何处理大数据?3个技巧效率提升攻略推荐)
- sparksql的string转日期格式(将string类型的数据类型转换为spark rdd时报错的解决方法)
- python的编码方式(Python中文编码知识点)
- mysql死锁是什么原因(MySQL的MaxIdleConns不合理,会变成短连接的原因)
- vsftpd详细教程(编译安装 vsFTP 3.0.3的详细解析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9