排序内存不够导致IO操作频繁的调优

--找到当前进程的SID
select sid from v$mystat where rownum=1;


--查看执行目标语句之前的PGA/UGA使用情况, Direct temp使用情况。Direct temp使用次数多的话,说明对临时文件读取频繁

select * from v$statname a,v$sesstat b
where a.statistic#=b.statistic#
and b.sid=52
and (a.name like '%ga memory%' or a.name like '%direct temp%')


--记录当前的结果,然后执行目标语句

select * from ra_customer_trx_all order by creation_date desc


--然后在此查看内存使用语句

select * from v$statname a,v$sesstat b
where a.statistic#=b.statistic#
and b.sid=52
and (a.name like '%ga memory%' or a.name like '%direct temp%')


--观测结果, 如果"physical reads/writes direct temporary tablespace"使用次数很大,那么就采取增加pga的方式,然后再次调试

SQL>show parameters sort_area_size;
SQL>alter session set sort_area_size=1074741800 --1G
SQL>show parameters sort_area_size;

--再次执行排序语句,以及查看结果

-----------------------------------------------------------------


当然,还有更加不错的选择,让数据库系统自动把握,在合适的时间使用合适的内存

show parameter workarea_size_policy; -- 需要设置为auto

show parameter pga_aggregate_target; -- PGA使用的总内存

show parameter memory_target; -- 或者是SGA和PGA的总量 2G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值