Oracle 学习笔记-多版本和并发

    技术2022-05-19  18

    1  多版本:同一个时间,读取结果一样,即写不会阻塞读。一般来说,一个查询只是读取信息,那么它永远不会被阻塞

     

    2 事务隔离级别:

     

     

     

     

            

     

       READ UNCOMMITED oracle内部特有的机制可以避免dirty read(脏读),多版本机制可以保证“一致读”,即可以保证独到任何时间里的数据。 T1时刻开始查询数据,那么所有的数据都以T1为准,即使数据已经被修改

     

       读一致性:Oracle 可以使用undo信息来提供非阻塞的查询和一致(正确)的读。具体说来,T1时间执行一个查询,在查询过程中,属于查询范围的数据被修改,Oracle 可以用多版本技术,保证查询结果仍然是T1时刻的结果,而不是修改后的结果

     

     3 写一致性(Write Consistency)

       update dept2 set deptno = 22 where deptno = 21;

       update dept2 set dname ='mm' where deptno = 21;

       如果顺序执行上面的代码,会发生什么情况呢?

       根据实际验证,执行第二句,返回0.书中说执行第二句时,发现已经没有deptno = 21的情况,于是Oracle会以select……for update 模式重新启动查询,然后……我也不是很明白了


    最新回复(0)