zoukankan      html  css  js  c++  java
  • 【JavaP6大纲】MySQL篇:四大属性底层实现原理?

    四大属性底层实现原理?

    A(原子性):

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

    C(一致性):

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

    I(隔离性):

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

    D(持久性):

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

  • 相关阅读:
    android自定义Dialog
    go笔记-内存回收分析、内存统计信息字段释义
    go笔记-defer以及性能
    go笔记-goroutine和panic
    并发编程-高性能IO-reactor模式
    go笔记-查看coredump:delve调试工具
    IO多路复用[转]
    kubernates 1.20.6安装
    JavaScript 数组元素的一些操作
    如何理解 Java 多线程
  • 原文地址:https://www.cnblogs.com/javawxid/p/15644449.html
Copyright © 2011-2022 走看看