1。在处理并发问题上,在什么条件下选择悲观锁?在什么条件下选择乐观锁?2。有个同事写了个方法来解决并发,不知道有没有什么问题?就是在一个事务里面 先用select money as 原始  from table
                   在用 update table set money=新值 where money=原始这样来空值并发,对不对?3。事务是隔离的,对于数据库来说是在一个时间点对一条记录只能有一个操作对吧?
   如果是这样我想上面控制并发没问题
4。不知道各位大哥在具体项目采用什么方法来解决并发的。
谢谢

解决方案 »

  1.   

    IMHO,大部分应用,乐观锁足够了
      

  2.   

    当然有问题了,如果money主键/唯一,怎么可以随便更新?
      

  3.   

    一般常见的检查,
    表里有个revision字段,
    将信息呈现给客户的时候,同时记住当前revision,
    更新前检查相同id的记录的revision,ok的话,更新记录的同时,revision增加
      

  4.   

    楼主同事既然用这个办法,那还不如这样子UPDATE TABLE SET MONEY = MONEY + 变化的值 WHERE ID=?
      

  5.   


    这个是什么意思?你的意思说如果money是主键就不行?