有个这样的需求,我想从mysql里面随机取10条数据出来,这个表里面有个状态表示是否已经被取出过,
flag=0的时候表示没有,1表示被取出了,
我随机取出10条后,要将这10条的flag字段改为1,
如果没有并发的话,就没事,但是考虑有并发的时候,
锁定代码还是锁定数据库?
有什么好的办法能解决这个问题没?
------解决方案--------------------
你随机取10条flag=0的就行了
你看看对么
这样的话每次都是单项的 不过这样的话 虽然没有数据冲突 但是还要看看你是不是每次必须操作10条flag=0的有效数据 如果按上面的话 可能有重复 比如可能某个请求改了10条 某个请求只改了8条 有2条相当于无用功
------解决方案--------------------
直接一条update把这10条数据flag改为1。