执行计划问题导致处理速度时快时慢的问题

今天百货那边同事反映,在前台销售商品时,出现了时快时慢的情况,一个小票的打印时间,从零点几秒到100多秒不等,如果哪个顾客赶上了,可能买一包方便面都会等2分钟。这个情况已经持续了两三天了

由于此系统前段时间由单机转为了RAC,同事怀疑因为RAC的配置或是IO问题导致了这种情况。确实,对于非数据库的很多情况,IO负载的轻重变化确实容易导致时快时慢的现象。

做AWR麻烦,直接登录到数据库中看,有一个SQL在v$session中比较容易出现db sequence read等待,直接看v$sql,有两个child number,其中有一个child_number等于3的SQL buffer_gets非常高,看执行计划,选择了一个多列主键索引的跳跃扫描。

看到这个,也就有解决方案了,改程序来不及,直接在操作系统禁用跳跃扫描

alter system set '_optimizer_skip_scan_enable' = false;

出现这个情况的原因,应该是统计信息发生了变化(系统设定定时任务,3天重新收集统计信息)导致执行计划发生了改变。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19423/viewspace-1055259/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/19423/viewspace-1055259/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值