linux oracle CPU访问过高 问题

本文探讨了如何通过分析并优化Oracle数据库中CPU使用率高的SQL语句,提升网站访问速度。重点介绍了使用top命令监控CPU使用情况,筛选出占用前10位的语句,并针对没有索引、查询实体过多或包含CLOD字段等问题提供了解决方案,包括建立索引、精简查询和避免直接查询CLOD。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux 的oracle 一般项目CPU占用在 20%左右,当网站访问速度过慢,且本地访问很快可以用 top 看下是不是CPU使用过高

且是oracle用户引起的。如果是请查询占用CPU过高额语句

select *
from (select v.sql_id,
v.child_number,
v.sql_fulltext,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.elapsed_time desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10
ORDER BY cpu_time desc;

然后把占用前10个的语句查看下原因吧。

1.如果没有索引要建立索引。

2.如果查询的实体为hibernate 且查询出整个实体,那么就请只查询需要的属性。若有clob的字段一定不要查询。(且CLOD不能distinct,解决办法是将clod建立关联表)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值