脏读:
A事务                     B事务
读取资源B,
对其修改                         读取资源修改B
事务rollback这时B事务出现脏读,我想问的是,A事务没提交,B事务怎么能读到修改后的资源?脏读不理解?

解决方案 »

  1.   

    A事物没提交,B能读到,这就是脏读。就是说,A在修改的时候,B是可见的,所以B会读到A修改后,没有提交的数据。
      

  2.   

    A事物没提交,B能读不到的话,说明数据库隔离级别是提交读,B读到的话 说明数据库隔离级别是未提交读
      

  3.   


    正解,我知道oracle是先从内存中访问数据块的。
      

  4.   

    我想问的是,A事务没提交,B事务怎么能读到修改后的资源?脏读不理解?===》A事务在改完后 B资源上的X锁释放掉 只有S锁 B事务就可以读取B资源 这个时候读了修改后的B资源
    之后A事务回滚 B事务就脏读了 因为B资源被改回去了
      

  5.   

    A事物没提交,B能读不到的话,说明数据库隔离级别是提交读,B读到的话 说明数据库隔离级别是未提交读感谢各位兄台的回答,让我明白了脏读是怎么个回事,