• 【JavaP6大纲】MySQL篇:四大属性底层实现原理?


    四大属性底层实现原理?

    A(原子性):

    要么全部完成,要么完全不起作用。底层实现原理:undo log(当这个事务对数据库进行修改的时候,innodb 生成对应 undo log,他会记录这个 SQL 执行的相关信息,如果 SQL 执行失败发生这个回滚,innodb 根据这个 undo log 内容去做相反的工作,比如说我执行了一个 insert 操作,那么回滚的时候,就会执行一个相反的操作,就是 delete,对应 update,回滚的时候也是执行相反的 update)

    C(一致性):

    一旦事务完成(不管成功还是失败),业务处于一致的状态,而不会是部分完成,部分失败。事务执行前后,数据库的完整约束没有遭受破坏,事务执行前后都是合法的一个数据状态。

    I(隔离性):

    多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。底层实现原理:写-写操作:锁(和 java 里面的锁机制是一样的)。写-读操作:MVCC(多版本并发控制,可以通过乐观锁和悲观锁实现,只在读已提交和可重复读二个隔离级别,事务的排它锁形式修改数据,修改之前把数据放到 undolog 里面,通过回滚指针关联,成功了什么都不做,失败了,从 undolog 回滚数据。)

    D(持久性):

    一旦事务完成,无论发生什么系统错误,它的结果都不应该受到影响,事务的结果被写到持久化存储器中。底层实现原理ÿ

  • 相关阅读:
    day1 instance,round,divmod,imput, 字符串
    Django中如何将javascript中的变量传给位于javascript内的{% url %}中的参数?
    demo_33 评论发布弹窗实现
    demo_32 富文本渲染
    demo_31 详情页面数据初始化
    demo_30 内容预加载
    demo_29 详情页页面展示
    demo_28 使用自定义事件同步数据
    demo_27 保存标签页数据
    demo_26 编辑标签页
  • 原文地址:https://www.cnblogs.com/javawxid/p/15644449.html
Copyright © 2020-2023  润新知