undo&redo&ibdata1---杂

来源:互联网 发布:照片换发型软件 编辑:程序博客网 时间:2024/06/06 05:49

【关于innodb的read-view的一点理解】

  1.  InnoDB 的read-view的建立,是从事务begin后,发送第一个select的时候建立的,而不是begin的时候建立的,
    也就是说,在发送第一个SQL后,事务才被赋予了一个transactionID,才建立了它的read-view,才决定了它能看到哪些版本的数据,不能看到哪些版本
    至于begin, 在这方面并没有什么实际意义

  2. 一旦事务A被赋予了一个transactionID,就会确定一个它相关的read-view,并且一直保持不变
    read-view的可见原则是“在事务A发送第一个SQL的时候,还没完成commit的那些事务B,C,D对数据做出修改后的生成新版本数据,A都看不见“
    即使后续B,C,D都先于A 进行了commit,A还是看不见那些B,C,D 生成新版本数据”    (隔离级别  REPEATABLE-READ)
    也就是说,事务A能看到哪些版本的数据,不能看到哪些,从它被赋予transactionID的一刻就确定了(它的read-view就确定了),且不会改变,这样才能做到 “可重复读”







0 0
原创粉丝点击