在程序中,
先执行如下查询语句:
select * from 表 where 条件 for update;
如果没有返回记录的话,关闭游标,然后commit操作,退出处理;
程序是多线程(有几个线程,每个线程做的一样的事情)的,单个线程每10秒就会轮询这个表,请问这里没有查出记录的情况下用commit有问题呢?
因为我看了程序记录的日志,有两次当机(这两次相隔一个星期)的时候,都是在执行这个commit操作的时候当机的;
------解决方案--------------------
这种语句是没有问题的,仅仅是对表加了锁,并不是引起数据库的宕机的。
------解决方案--------------------
LZ这种写法是进行锁表操作。为什么要这样写?
------解决方案--------------------
应用程序的当机还应该是死锁的可能性最大吧
建议这个方向再检查检查代码吧