解决方案 »

  1.   

    是这个理由么? 我的理解是当前读是在正式UPDATE的时候发生的,而不是再COMMIT的时候发生的呀。 要是和提交相关,就算是后面在当前读,也同样会阻塞别的进程啊。
      

  2.   

    当前读是在正式UPDATE的时候发生的,这个没错
    举个例子说吧,
    如果有3个进程读取数据,不一定那个进程需要修改数据
    如果在起始读取时就使用当前读,则数据直接被第一个读取数据的进程锁定,
    其他两个进程是无论如何也没法update的,这样很容易造成死锁。
    而开始使用一致读,则哪个进程最早提出update申请,由哪个进程进行当前读对数据进行锁定
    这样更灵活、方便,且不易发生死锁