zoukankan      html  css  js  c++  java
  • MySQL中写操作

     具体到操作流程:

    当执行某个写操作的 SQL 时,引擎将这行数据更新到内存的同时把对应的操作记录到 redo log 里面,然后处于 prepare 状态。并把完成信息告知给执行器。

    执行器生成对应操作的 binlog,并把 binlog 写入磁盘里。然后调用引擎的提交事务接口,变更 redo log 状态为 commit。

    ===》》》《《《《====

    重做日志(redo log

    位于存储引擎层的 redo log,它是用来记录在"数据页做了什么修改"的物理日志文件。

    WAL 技术

    提到 redo log,WAL 技术必然是绕不过去的,全称是 Write-Ahead Logging。也就是在同步磁盘前先写日志,然后系统再根据一定的策略将日志里的记录同步到磁盘里

    二进制日志(binlog)

    位于服务层的二进制日志文件 binlog

    扮演的角色是存储逻辑日志的,所谓的逻辑日志就是指修改了什么,都会记录其中。

    回滚日志(undo log)

    在进行数据修改时,同时记录 undo log,即同时记录相反操作的逻辑日志。你可以理解为操作 update 的时候,写一条对应相反的 update 记录,操作 delete 的时候,写一条对应的 insert 记录。

  • 相关阅读:
    C#.ToString()格式大全
    C# 中的正则验证及用法
    解除SVN的控制
    SVN检出忽略文件夹文件
    Mac下查看及生成SSH Key
    Xcode-报错问题总结大全
    CentOS6.5上kafka 安装过程-多机版本
    神经网络绘图网址
    CentOs 中没有eth0文件
    Spring 入门
  • 原文地址:https://www.cnblogs.com/KL2016/p/15070881.html
Copyright © 2011-2022 走看看