• mysq 事务(全)l


    1. 四大特性

    1. (基础)原子性,事务不可分割,要么全部成功,要么全部失败
    2. (约束条件)一致性,也可以说成合法性,事务要符合逻辑,数据库限制,比如余额不能为负数,A给B转账,A+B的总额始终相等
    3. (手段)隔离性
    4. (目的)永久性

    2. 隔离级别

    1. mysql默认隔离级别可重复读,其他数据级别为读已提交

     3. 事务日志

    1. 事务的隔离性由锁机制实现
    2. redo与undo日志都是存储引擎级别的日志
    3. redo log: cpu中的数据与磁盘中的数据之间加一个中间文件(redo log),这个文件用于存储本事务做了哪些操作,然后再定时更新到磁盘。cpu到redo log的速度是很快的。
    4. undo log: 回滚数据,保证数据回滚到修改之前的状态
    5. redo 保证事务的持久性,undo保证事务的原子性

     4. 可重复读实现机制

    MVCC版本控制
    一个事务中,当只有第一次执行select时,会生成一个ReadView,它决定了查找记录的版本,以后的select都根据该版本来操作

     5. MVCC(多版本控制)实现机制

    1. 三个因素
    1. 隐藏字段:a.事务id; b.指针对应修改前的信息
    2. undo log版本链
    3. readview规则(读已提交,每次查询都会生成一个readview;可重复读,只有第一次查询的时候生成readview)
  • 相关阅读:
    1489 蜥蜴和地下室
    1521 一维战舰
    1596 搬货物
    1873 初中的算术
    CF-799B
    101 pick me up~
    落叶归根
    P1149 火柴棒等式
    P1540 机器翻译
    图论学习十之Sparse table
  • 原文地址:https://www.cnblogs.com/JackShi/p/15868421.html
Copyright © 2020-2023  润新知