一个索引引发的问题

215 上了一个大表的组合索引,引发了查询sql的执行计划混乱,最终CPU充到100%,业务系统挂掉,库也几乎宕掉。

1,为什么建了索引后,oracle执行计划会乱掉, 而且选择了一个最慢的执行计划?

DBA答复:表关联! 关联表越多, oracle选择执行计划出错的概率变大!

如何防止此类事件: 上索引之前,先固话执行计划,上完后再调整执行计划

2,网络阻塞问题。statement超时时间并不能控制网络阻塞时间。 

statement超时时间设置了10s,如果网络阻塞了, 10s并不能中断,客户端仍然阻塞。

3,查无交易不要翻失败。

通常的异步落单业务处理逻辑。

1)落单 ,2)查单  3)翻状态

查单的时候下游有可能返回无此交易, 这时候要小心了,不要贸然把状态翻成失败。

有可能落单的请求比查询请求先到达,你翻失败了,落单可能就成功了。

也有可能落单的请求被hang住了,例如1的原因,库宕机了,数据入库被阻塞,数据还没插入呢,查询请求就来了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值