zoukankan      html  css  js  c++  java
  • undo log

    1、undo log 的作用简述

    数据库事务四大特性中有一个是 原子性 ,具体来说就是 原子性是指对数据库的一系列操作,要么全部成功,要么全部失败,不可能出现部分成功的情况。

    实际上, 原子性 底层就是通过 undo log 实现的。undo log主要记录了数据的逻辑变化,比如一条 INSERT 语句,对应一条DELETE 的 undo log ,对于每个 UPDATE 语句,对应一条相反的 UPDATE 的 undo log ,这样在发生错误时,就能回滚到事务之前的数据状态。

    同时, undo log 也是 MVCC(多版本并发控制)实现的关键。

    2、相关参数

    5.6版本,ibdata1 与共享临时表空间共用

    mysql> show variables like '%undo%';
    +-------------------------+-------+
    | Variable_name           | Value |
    +-------------------------+-------+
    | innodb_undo_directory   | .     |
    | innodb_undo_logs        | 128   |
    | innodb_undo_tablespaces | 0     |
    +-------------------------+-------+

    5.7版本,可以将临时表空间ibtmp1和undo log分开独立出来

    mysql> show variables like '%undo%';
    +--------------------------+------------+
    | Variable_name            | Value      |
    +--------------------------+------------+
    | innodb_max_undo_log_size | 1073741824 |
    | innodb_undo_directory    | ./         |
    | innodb_undo_log_truncate | OFF        |
    | innodb_undo_logs         | 128        |
    | innodb_undo_tablespaces  | 0          |
    +--------------------------+------------+

    8.0版本

    mysql> show variables like  '%undo%';
    +--------------------------+------------+
    | Variable_name            | Value      |
    +--------------------------+------------+
    | innodb_max_undo_log_size | 1073741824 |
    | innodb_undo_directory    | ./         |
    | innodb_undo_log_encrypt  | OFF        |
    | innodb_undo_log_truncate | ON         |
    | innodb_undo_tablespaces  | 2          |
    +--------------------------+------------+
  • 相关阅读:
    eclips git中的add to Index无效解决
    关于Promise 简单使用理解
    小程序顶部可滚动导航
    读jQuery源码
    Web UI
    JavaScript滚动条插件源码
    Ajax异步刷新地址栏url改变(利用Html5 history.pushState实现)
    angular2如何按需加载?
    如何把bootstrap用webpack打包
    typings的理解
  • 原文地址:https://www.cnblogs.com/uphold/p/15212830.html
Copyright © 2011-2022 走看看