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

为什么 mysql 事物能保证失败回滚

  •  
  •   chunrong918 · 2019-03-19 14:43:00 +08:00 · 2754 次点击
    这是一个创建于 2080 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为什么 mysql 事物能保证失败回滚,如题

    22 条回复    2019-03-19 21:26:56 +08:00
    chunrong918
        1
    chunrong918  
    OP
       2019-03-19 14:43:16 +08:00
    这种,标准答案是什么
    KamenReborn
        2
    KamenReborn  
       2019-03-19 15:08:02 +08:00
    MrKou47
        3
    MrKou47  
       2019-03-19 15:08:52 +08:00 via iPhone
    这不就是事务嘛?
    chunrong918
        4
    chunrong918  
    OP
       2019-03-19 15:14:07 +08:00
    @MrKou47 对啊 ,事物为什么能保证回滚,原理是什么
    sun1991
        5
    sun1991  
       2019-03-19 15:15:54 +08:00
    redo log 了解一下.
    sun1991
        6
    sun1991  
       2019-03-19 15:16:45 +08:00
    redo log, undo log 了解一下.
    chunrong918
        7
    chunrong918  
    OP
       2019-03-19 15:28:27 +08:00
    @sun1991 嗯 感谢 再请教一下哈 mysql 什么情况下会触发表锁
    我的理解是 mysiam 引擎默认就是表锁,所以对 mysiam 引擎表的 crud 都会触发表锁(这样子回答不知道合不合适,请指教),至于 innodb 就不懂了
    des
        8
    des  
       2019-03-19 15:37:26 +08:00 via Android
    @chunrong918 MVVC 多版本的并发控制协议?
    CallMeReznov
        9
    CallMeReznov  
       2019-03-19 15:38:23 +08:00
    靠日志?
    liunian1004
        10
    liunian1004  
       2019-03-19 15:39:44 +08:00 via iPhone
    靠持久化的 log 呗
    des
        11
    des  
       2019-03-19 15:40:25 +08:00 via Android
    @des 打错了是 MVCC
    chunrong918
        12
    chunrong918  
    OP
       2019-03-19 15:44:11 +08:00
    @des 不懂,mvcc 不是很了解,解释一下呗
    des
        13
    des  
       2019-03-19 15:47:06 +08:00 via Android
    @chunrong918
    搜一下,大把的解释介绍
    sun1991
        14
    sun1991  
       2019-03-19 15:53:45 +08:00
    @chunrong918 MYSIAM 不了解. INNODB 的话, 我的理解是, 既然是 Oracle 家实现的, 那么和 Oracle 应该差不多,修改的时候触发行锁. 只有在少数情况下, 比如修改表结构的时候才锁表吧.
    tabris17
        15
    tabris17  
       2019-03-19 15:55:15 +08:00
    google 搜“ MVVC ”有真相
    kernel
        16
    kernel  
       2019-03-19 16:41:07 +08:00
    LZ 你这学习是要靠别人一口口喂的吗,一搜网上一大把的东西,相关的书也多
    masker
        17
    masker  
       2019-03-19 17:01:22 +08:00 via Android
    多看书不好吗?
    m939594960
        18
    m939594960  
       2019-03-19 17:08:21 +08:00
    CPU 自带这个功能
    x7395759
        19
    x7395759  
       2019-03-19 17:48:54 +08:00
    可以 google 吗?
    inframe
        20
    inframe  
       2019-03-19 18:09:34 +08:00 via Android
    transaction 对目标加锁,再不济用个 stack 保留变量,执行完成解锁
    mmdsun
        21
    mmdsun  
       2019-03-19 18:29:20 +08:00 via Android
    这个问题最终会讲到 CPU 和电路...
    Coey
        22
    Coey  
       2019-03-19 21:26:56 +08:00
    简单一句带过就是锁和 MVCC 可以保证,想要深入理解的话,就需要自己放狗搜了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1174 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:05 · PVG 07:05 · LAX 15:05 · JFK 18:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.