就因为多一个%,害的整个服务器差点挂掉

oralce10g数据库一张表,由于一个表数据量比较大,大概1.5亿数据,由于数据库结构不是很合理,导致该表有40G大小,但是客户需要导出一个明细,所以建立了一个联合索引,根据

  p_index区域,销售时间sell_date,在进行plan测试中,发现该语句还是比较给力的,效率也都不错,

 

但是在正式系统中,总是出现写redo出现1000ms的等待,而且在wait sql也都是被这个语句给占了,郁闷致死,查了N天之后,发现罪魁祸首,原来,改明细查询存在一个导出到excel功能,结果不知道那位老大写的时候把p_index like ':1%'给修改为p_index like '%:1%',导致无法搜联合索引,导致效率低下,也就多了一个%,害死人啊,修改完毕之后,系统立马跑的刷刷的。

 

原先标准的查询语句应该是这样的

 

where p_index like '340101%' and sell_date>=:1 and sell_date<:2

 

但是了,早导出到excel时候,被修改成了

 

where p_index like '%340101%' and sell_date>=:1 and sell_date<:2

 

所以啊,一个小小的失误,会害死一个庞大的系统的。。也就是说“细节决定成败”。

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值