V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
helloworld12
V2EX  ›  问与答

数据库的 REPEATABLE_READ 会不会导致死锁? 为什么

  •  
  •   helloworld12 · 2018-11-04 01:59:12 +08:00 · 2285 次点击
    这是一个创建于 2212 天前的主题,其中的信息可能已经有所发展或是发生改变。

    脏读、幻读、不可重复读 and 乐观锁、悲观锁 and 事务五种隔离级别

    里面讲到:

    ( 4 ) REPEATABLE_READ
      可以防止脏读、不可重复读,但会出幻读(锁定所读取的所有行)。
    

    那么,如果一个事务 先读 A 行,然后修改 B 行, 另一个事务先读 B 行,然后修改 A 行

    这个会不会导致死锁, 为什么,还是说这篇文章介绍的有问题

    谢谢

    3 条回复    2018-11-04 15:04:07 +08:00
    Kahnn
        1
    Kahnn  
       2018-11-04 06:18:34 +08:00 via Android
    这是 SQL 标准的理论定义,不同数据库不同引擎的实现都会不一样,想知道结果就来两个事务试一下就知道了
    fmumu
        2
    fmumu  
       2018-11-04 09:35:28 +08:00 via Android
    读不加锁吧
    helloworld12
        3
    helloworld12  
    OP
       2018-11-04 15:04:07 +08:00
    @fmumu #2 读不加锁,会导致不可重复读
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1227 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:15 · PVG 02:15 · LAX 10:15 · JFK 13:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.