afsun
V2EX  ›  问与答

求解?Mysql 的 ReadView 是怎么判断可见性的

  •  
  •   afsun · Jan 11, 2020 · 2365 views
    This topic created in 2316 days ago, the information mentioned may be changed or developed.

    为什么行的版本号大于 readview 的最大版本号就一定是不可见的. 事务 1 在未开始查询的时候,事务 2 插入了一条数据并提交 可是事务 1 在查询的时候也是可以见到这个数据的啊?

    2 replies    2020-01-12 15:48:52 +08:00
    afsun
        1
    afsun  
    OP
       Jan 11, 2020
    按照这个说法来说,事务 2 的版本号要比事务 1 要大,所以应该大于 readview 中的最大事务,那么就会导致不可见,可是事实是数据可见的
    zhanchong316p
        2
    zhanchong316p  
       Jan 12, 2020
    begin 或 start transaction 并没有真正开启事务,事务是在执行第一个有意义的语句时开启的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2833 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 12:05 · PVG 20:05 · LAX 05:05 · JFK 08:05
    ♥ Do have faith in what you're doing.