oracle 并行处理问题
发布网友
发布时间:2022-04-09 17:29
我来回答
共3个回答
热心网友
时间:2022-04-09 18:59
使用分页SQL啊,先建立一个flag字段,作为标志位
步骤一:
机器A:
以主键asc排序,取前100,修改,将flag置一
机器B:
已主键asc排序,取100-200,修改,将flag置一
步骤二:
机器A:
待所有的机器的SQL都运行完之后,取flag为0的前100数据,修改,置一
机器B:
取flag为0的100-200数据,修改,置一
步骤三:
循环
你的这个问题有点偏向于理论,生产环境下不会那么巧合,碰到这种情况
PS:又看了一下你的问题,你的意思是不是并发环境下的一致性控制的问题啊,如果是的话,建议你去搜一下"oracle 当前读"关键字,可能会对oracle并发控制的原理有一定的了解
希望对你有帮助
热心网友
时间:2022-04-09 20:17
你这个问题很奇怪。。。 想不出是什么样的业务会有这种需求?能描述一下么?
从技术上来说,有2个办法
1. 前一个机器取完之后,就删掉取出的数据
OR
2. 在表里设置一个标志段,前一个取完之后,把标志段设置为已经取过。后边的就取没取过的好了
热心网友
时间:2022-04-09 21:51
.....oracle并行处理问题解决.....(有意思的问题么?)