这个隔离级别是为了解决已提交读的更新丢失问题。
假设有两个事务 T1 和T2。T1 以“已提交读”模式运行,读取数据项 X(假设是银行账户值),记录这个值,然后根据记录的值重写数据项 X(假设为原始账户增加¥100)。T2 同样读写了X(假设从账户取走¥300)。如果 T2 的行为发生在 T1 的读和写之间,那么 T2 对于账户的修改将丢失,即对于我们的例子而言,该账户最终将增加¥100 而不是减少¥200。
游标稳定中的事务将根据查询游标在最近读取的数据项上加一个锁,当游标移走(如数据被提取)或者事务中止时释放该锁。游标稳定允许事务对个别数据项目按照“读—处理—写”的顺序来操作,其间避免了其他事务的更新干扰。
网友评论