问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么找到找出哪个SQL语句导致cpu占用如此高?

发布网友 发布时间:2022-04-29 23:41

我来回答

2个回答

懂视网 时间:2022-04-30 04:02

(1)SQL语句:

selectdistinct s.sid,s.sql_id,s.event,s.program,s.MACHINE,q.sql_textfrom v$session s,v$sql q

where s.sql_id=q.sql_idand s.status=‘ACTIVE‘order by sql_text;

(2)用途说明:

    当数据库服务器负载高时,资源绝大部分的可能是被正在运行的SQL所消耗,查询到正在执行的SQL语句,是打开高消耗原因盒子的第一步。该语句重点关注的是正在执行的SQL语句、等待事件、发起程序、发起主机及SQL代码,并按SQL文本排序,在数据库服务器负载高时,可以用该语句,查到当前资源消耗高时系统正在运行什么语句,通过按文本的排序及显示SQL_ID,等待事件,可以从一定程序上判断出引发问题的SQL语句

 

2、  查看执行并发最多的SQL语句

(1)SQL语句:

select sql_id,count(*)from v$session groupby sql_id order by 2 desc

(2)用途说明:

资源消耗高时必定有一定数量的SQL语句同时在运行所致,只是一条语句串行执行引发严重性能问题的可能性,在低配置系统上有可能发生,但是在高配置服务器上却不会引发较大影响,但是,同一条有问题的SQL语句高并发执行,再高配置的机器也会被拖垮,持续高并发,也能说明该SQL语句可能运行速度慢,资源消耗高,所以,通过查看正在运行的最多的是哪一条语句,可以客观上判断引发问题原因的SQL语句。

 

 

本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作

欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244

数据库资源消耗高时两条简单管用、快速找出可能问题原因的SQL语句

标签:正在执行的sql   并发最大的sql   

热心网友 时间:2022-04-30 01:10

一般我们可以使用sql server自带的性能分析追踪工具sql profiler分析数据库设计所产生问题的来源,进行有针对性的处理。但我们也可以通过自己写SQL语句来有针对性的进行性能方面的查询。通常会用到如下三个系统视图: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语句
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
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 康乐宁多少钱一包? 五参安神液红色铁盒的多少钱一盒 采布霉素地塞米松眼膏和苗药神草相克吗 儿子脑后头有suan 苗药神草能不能抹脸,脸起疙瘩又痒又红 苗药神草能不能抹脸,脸上起疙瘩又痒又红 苗药神草能不能抹脸呢? 苗药神草可以制寻麻疹吗 苗药神草产妇能用吗 苗药神草治痤疮吗 脸上有痘痘发红 挤出来是白色东西还带血 苗药神草肤王是激素药吗? 苗药神草中药药膏可以治疗肛周瘙痒吗? 苗药神草含激素吗,会产生依赖性么? 为什么华为KOZ-AL00点击安全后再点击更多安全设置也没有显示更多设置项? 华为荣耀八,的显示所有设置项在哪里? 制冰机用哪个牌子好?听说星极制冰机不错? 我想买制冰机,选哪家的制冰机比较好? 国内商用制冰机什么牌子好,东贝制冰机怎么样 中国制冰机十大品牌 国产雪花制冰机 哪个最好 苗药苗老人清颜祛痘液一个疗程多少盒? 苗药活脉散一盒几包药?静脉曲张要用几个疗程?在大药房可以买到吗?效果怎样? 云南向氏祖传苗药厂电话?或者在哪里 有附近的帮帮我 不白帮噢 怎么使用防飞贴? 起泡胶黏在防飞贴上了,怎么办? 防飞贴是一次性的吗? 买起泡胶送的那些小球要不要加进去? 怎么才能用起泡胶 怎么把Adobe Audition的单声道复制成双声道立体声 AU1.5版本的怎么把单声道音乐调成立体声呀,以及声像怎么调QAQ 我用ADOBE AUDITION(1.5)把一个歌曲进行了降调处理,怎样才能合成双声道的音乐啊?在线等 使用Au时,新建单轨文件已经点了立体声,但没有导出文件的时候播放录音,只能听到左耳的声音,求助 用adobe audition录音怎么不是立体声 如何理解Adobe Audition 音轨中的“默认立体声”录音模式? au 如何将立体声拆开 就是导入音轨是两条 怎么删 用Adobe Audition 怎样把一个音轨的双声道出来 求翻译日文"夕亻卜儿" 日语的“八夕一卜儿”是什么意思? 日语“人夕一卜”是什么意思? 夕亻卜儿动图?