持续学习&持续更新中…

学习态度:守破离


【宋红康 MySQL数据库 】【高级篇】【17】MySQL事务日志

  • 概述
  • redo日志
    • 为什么需要redo日志
    • redo日志的好处、特点
    • redo的组成
    • redo的整体流程
    • redo log的刷盘策略
    • 不同刷盘策略演示
    • 写入redo log buffer过程
      • 补充概念:Mini-Transaction
      • redo日志写入log buffer
      • redo log block的结构图
    • redo log file
      • 相关参数设置
      • 日志文件组
      • checkpoint
    • redo log 小结
  • undo日志
    • 如何理解undo日志
    • undo日志的作用
    • undo的存储结构
    • undo的类型
    • undo log 的生命周期
      • 简要生成过程
      • 详细生成过程
      • undo log是如何回滚的
      • undo log的删除
    • undo log 小结
  • 参考

概述

redo日志

为什么需要redo日志

redo日志的好处、特点

redo的组成


redo的整体流程

redo log的刷盘策略

这里讨论的是redo log buffer ——> redo log file的过程

不同刷盘策略演示

USE atguigudb3;CREATE TABLE test_load(
a INT,
b CHAR(80)
)ENGINE=INNODB;#创建存储过程,用于向test_load中添加数据
DELIMITER//
CREATE PROCEDURE p_load(COUNT INT UNSIGNED)
BEGIN
DECLARE s INT UNSIGNED DEFAULT 1;
DECLARE c CHAR(80)DEFAULT REPEAT('a',80);
WHILE s<=COUNT DO
INSERT INTO test_load SELECT NULL,c;
COMMIT;
SET s=s+1;
END WHILE;
END //
DELIMITER;#测试1:
#设置并查看:innodb_flush_log_at_trx_commitSHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';#set GLOBAL innodb_flush_log_at_trx_commit = 1;#调用存储过程
CALL p_load(30000); #1min 28sec#测试2:
TRUNCATE TABLE test_load;SELECT COUNT(*) FROM test_load;SET GLOBAL innodb_flush_log_at_trx_commit = 0;SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';#调用存储过程
CALL p_load(30000); #37.945 sec#测试3:
TRUNCATE TABLE test_load;SELECT COUNT(*) FROM test_load;SET GLOBAL innodb_flush_log_at_trx_commit = 2;SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';#调用存储过程
CALL p_load(30000); #45.173 sec

写入redo log buffer过程

补充概念:Mini-Transaction


redo日志写入log buffer

redo log block的结构图

redo log file

相关参数设置

日志文件组

checkpoint

redo log 小结

undo日志

这里的更新是指:增、删、改

如何理解undo日志

undo日志的作用


undo的存储结构


undo的类型

undo log 的生命周期

简要生成过程



详细生成过程

undo log是如何回滚的

undo log的删除

undo log 小结

参考

尚硅谷宋红康: MySQL数据库(入门到高级,菜鸟到大牛).


本文完,感谢您的关注支持!


【宋红康 MySQL数据库 】【高级篇】【17】MySQL事务日志:redo、undo相关推荐

  1. MySQL数据库高级篇教程 B站康师傅笔记(持续更新)

    第二部分 MySQL高级特性篇 第01章 Linux下MySQL的安装与使用 1. 安装前说明 1.1 查看是否安装过MySQL 如果你是用rpm安装, 检查一下RPM PACKAGE: rpm -q ...

  2. MySQL数据库 --- 高级篇

    一.存储引擎 1.1.MySQL体系结构 1.1.1.连接层 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信.主要完成一些类似于连接处 ...

  3. Mysql数据库——高级用法(视图、事务、索引、自连接、用户管理)

    视图 视图是对若干张基本表的引用,一张虚表,只查询语句执行结果的字段类型和约束,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变),方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性. ...

  4. 【宋红康 MySQL数据库 】【高级篇】【03】MySQL的数据目录

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][03]MySQL的数据目录 MySQL8的主要目录 数据文件的存放目录 命令存放目录 配置文件目录 数据库和 ...

  5. 【宋红康 MySQL数据库 】【高级篇】【07】MySQL的存储引擎

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][07]MySQL的存储引擎 存储引擎 查看存储引擎 设置系统默认的存储引擎 设置表的存储引擎 引擎介绍 In ...

  6. 【宋红康 MySQL数据库 】【高级篇】【06】MySQL的逻辑架构

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][06]MySQL的逻辑架构 逻辑架构剖析 服务器处理客户端请求 Connectors 第一层 连接层 第二层 ...

  7. 【宋红康 MySQL数据库 】【高级篇】【12】性能分析工具的使用

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][12]性能分析工具的使用 数据库服务器的优化步骤 查看系统性能参数 统计SQL的查询成本:last_quer ...

  8. 【宋红康 MySQL数据库 】【高级篇】【16】事务基础知识

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][16]事务基础知识 数据库事务概述 存储引擎支持情况 基本概念 事务的ACID特性 事务的状态 如何使用事务 ...

  9. 【宋红康 MySQL数据库 】【高级篇】【15】数据库其它调优策略

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][15]数据库其它调优策略 数据库调优的措施 调优的目标 如何定位调优问题 调优的维度和步骤 优化MySQL服 ...

最新文章

  1. ML Pipelines管道
  2. 第二十九课.回声状态网络ESN
  3. dnscat使用——整体感觉这个工具不完善,失败率很高,传文件时候没有完整性校验,我自己测试时通过域名转发失败,可能是其特征过于明显导致...
  4. [转] 【领导必读】唐僧为什么可以领导孙悟空
  5. 计算机考研保护一志愿,考研良心大学,保护一志愿的考研名校!
  6. 初识Notification
  7. sql取最大值的那一行_SQL高级功能
  8. 人类(行为)动力学(1)——初步了解
  9. python实列pdf下载_Python程序实例解析.pdf
  10. 供给侧结构性改革语境应对世界市场 国稻种芯百团计划行动
  11. Laravel SQL查询中first, pluck与lists方法
  12. scrapy 去重 dont_filter=False
  13. P2P网贷平台资金存管深度介绍
  14. c语言求标准体重答案,c语言编写一个标准身高体重自测程序
  15. 机器学习分享——反向传播算法推导
  16. xe6 动态元素数量
  17. 电子计算机工作最主要特征,电子计算机最重要的工作特征是( )
  18. CH34X系列与CH91XX系列等USB转串口方案选型对比
  19. keil5识别不了记事本改的.c文件解决办法
  20. 1199. 保留整数

热门文章

  1. 【LeetCode - 159】至多包含两个不同字符的最长子串
  2. 根据两个经纬度点计算距离
  3. 11、CSS3选择器及属性
  4. Rosalind Java| Complementing a Strand of DNA
  5. IV与PSI的理解--深入浅出
  6. 利用T0定时器定时 100ms,每当定时时间到就使 P1.7 求反
  7. 远程进服务器怎么全屏显示,远程服务器如何全屏显示
  8. 安科瑞数据中心行业电能质量监测与治理方案-李亚俊
  9. Debian10更换apt源
  10. 《高等数学A》课堂笔记——高分必过