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

数据库事务 的可重复读的疑问

  •  1
     
  •   ruandao · 106 天前 · 544 次点击
    这是一个创建于 106 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个事务里面,有读的操作,然后 client 根据读的内容和程序运行时变量,去执行一些操作(费时 10s )

    再根据操作结果,决定是否变更数据,最后提交事务

    如果事务的级别是可重复读

    当这个事务,执行的时候,被读取的行,是否要被卡住 10s

    5 回复  |  直到 2019-07-05 14:46:14 +08:00
        1
    momocraft   106 天前
    “卡”是加锁的意思吗?

    DB 不需要加锁也可满足可重复读的要求,比如 snapshot
        2
    ruandao   106 天前
    @momocraft #1 不是, 我说的是, 数据库相同的行被卡住 (无法被其他客户端修改)
    卡是指数据库事务,不是 client 的锁
        3
    yxjn   106 天前
    不会,rr 事物级别读不会触发行锁。
        4
    ruandao   106 天前
    @yxjn #3 如果不会的化, 卡 10s 数据被变更后,再去提交事务,是提交失败吗?
        5
    sandrew1945   106 天前
    不会
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2334 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 07:55 · PVG 15:55 · LAX 00:55 · JFK 03:55
    ♥ Do have faith in what you're doing.