你随机取10条flag=0的就行了
         你看看对么
             这样的话每次都是单项的  不过这样的话 虽然没有数据冲突 但是还要看看你是不是每次必须操作10条flag=0的有效数据 如果按上面的话 可能有重复  比如可能某个请求改了10条 某个请求只改了8条 有2条相当于无用功
        

解决方案 »

  1.   


    对,就是怕有重复。
    随机取几条没问题,但是我要确保我取了的这几条,不能被别的线程取到,所以我就必须把取出来的这几条的flag字段改为1,
    所以就想问问有什么好的办法,确保不取出重复的数据。
      

  2.   

    我个人觉得你不需要考虑这个  因为10条数据是非常小的数据量  A请求我查询了 又更改了  这中间就那么0点几秒钟   也就是B请求C请求不需要考虑这个  
           但是不考虑的前提是 你是查了后马上就改 并不是查出来后 进过了其他的业务逻辑 然后再去修改  这样的话就有问题了
      

  3.   

    对于程序来说 0点几秒已经比较长的时间了,如果为了减小这种情况的话,就一条一条的取
    或者锁定java代码算了
      

  4.   

    直接一条update把这10条数据flag改为1。