MYSQL 存储过程死循环问题--数值超限

c

存储过程中写了一个循环,大概意思就是按照rec_id每次取5000条,直到数据取值为空时退出。之前一直运行好好的,没啥毛病。昨天突然有个客户跑了一整晚也没有结束,明显超过时间了。然后我又重新开始跑了一遍,刚开始还挺好,没啥问题。但是到了后期又指出现这个查rec_id的代码,后面的处理程序不跑了。

为了验证是什么情况,我就在前后写了select V_NextRecID;不太会存储过程的调试,就用这个笨方法了。刚开始测试了好几遍也没有发现问题,就是V_NextRecID的值一直没有变化,正常的应该是数值有增加,可是这里不增加,当时我还没有注意到,我在想是不是查询有问题,然后我又把查询打出来了,发现查询数据没有问题,有值,但是为什么就是赋值不上去呢。正纳闷时,发现V_NextRecID的值怎么这么眼熟,定睛一看,这不就是int最大值吗。这个时候我才反应过来我这是数值超限了。

这里有点疑惑的就是这个值超限了没有提示我,直接在循环里面空跑,导致cpu一直打满,但是取值还不对。这个记录一下吧,以后遇到这种问题就可以早点查到问题了。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值