zoukankan      html  css  js  c++  java
  • 【转载】深入分析事务的隔离级别

    http://www.hollischuang.com/archives/943

    文中对于可重复读的说明不是很正确;

    当前的多数RDBMS都支持MVCC(多版本并发控制协议),与之相对的是基于锁的并发控制协议LBCC;参考http://hedengcheng.com/?p=771

    MVCC最大的好处是读不加锁,读写不冲突;此处的读不加锁是指快照读。

    读取操作分为快照读和当前读;

    快照读不会加锁,但是可能读取的是历史版本,所以表现行为:事物1执行俩个快照读,事物2在事物1俩个快照读之间删除某个数据并提交,事物1的第二个快照读和第一个的结果是一样的,保证了可重复读的行为,这个已在MySQL中校验。

    当前度包含特殊的读取操作(Lock in share mode, for update), 插入、删除、更新,需要加锁。

    当前读读取的是记录的最新版本,需要加锁。并且读取之后其他并发事物不能修改当前记录或者对当前记录加锁。

  • 相关阅读:
    python运行时参数m的作用
    如何设置.net控件SplitContainer平均分配
    不用安装Oracle客户端
    视频聊天APP
    Hadoop框架
    Shell
    Linux
    java14带参的方法
    java13人机猜拳
    java12类的无参方法
  • 原文地址:https://www.cnblogs.com/pengyusong/p/6164497.html
Copyright © 2011-2022 走看看