当前位置:网站首页>MySQL学习笔记-4.数据更新时的性能问题
MySQL学习笔记-4.数据更新时的性能问题
2022-08-04 16:53:00 【天生我才~~】
文章目录
慕课网MySQL教程
总览




1. 数据更新时的日志问题
1.1 MySQL日志体系


1.2.1 binlog 归档日志

1.2.2 undo Log 回滚日志

- 更新时,写入一个反的sql语句日志,当需要回滚时,操作该日志可以实现回滚效果
1.2.3 redo Log 重做日志


- 写入环形磁盘时机通过参数进行控制

- redo Log 先更新在内存,当查询数据时,先查询内存,因此不会查询磁盘中旧的数据
1.2 数据更新流程
1.2.1 整体流程

每次对数据操作,都要先将磁盘中数据读入内存进行操作
每次都是对内存中的数据进行操作,写回磁盘是异步操作
日志优先,只要redo Log 写进去了,事务就写进去了,就可以 prepare ,可以进行下步提交了
但有个问题,都是写入到内存,如果断电,数据会丢,这就涉及到redo Log 刷盘操作
1.2.2 redo Log 刷盘

- 通过参数设置,将redo Log 写进环形磁盘中的频率
- 异步每秒刷盘,有可能丢失1秒中的更新事务请求
1.2.3 binLog 刷盘

1.2.4 持久化分析

1.2.5 为何redo Log 在binLog之前

- redo Log 决定事务数据是否准备好了,一旦redo Log写入,表明事务已经准备好了,数据已经更新了
- binLog涉及主从复制,不能撤销,只有当redo Log 确定事务已经更新了,才能复制备份,否则,顺序相反的话,数据复制到备库,主库回滚了或者事务更新失败了,redo Log没有写入,会导致主从数据不一致
1.3 常见面试题
更新流程和两日志问题



两阶段提交问题



边栏推荐
- Analysis of Http-Sumggling Cache Vulnerability
- 聚合收款码有限制吗?怎么办理?
- Hubei Telecom Tianyi TY1608_S905L3B_MT7668_ card brush firmware package
- 8月5日,麒麟信安邀您相约鲲鹏开发者创享日·长沙站!
- 抖音最重要的接口——item_search_video-根据关键词获取视频列表
- Win10 无线网卡驱动感叹号,显示错误代码56
- Mobile magic box CM211-1_YS foundry _S905L3B_RTL8822C_wire brush firmware package
- 适配器模式
- 生产环境重大bug,update加上索引字段会走索引进行更新?还是走全表扫描
- 移动平台助力推进智慧型科研院所信息化建设
猜你喜欢
随机推荐
Minecraft 服务器安装Forge 并添加Mod
机器学习入门到大神专栏总览
历史上的今天:微软研究院的创始人诞生;陌陌正式上线;苹果发布 Newton OS
"Distributed cloud best practices" BBS, on August 11, shenzhen
工龄10年的测试员从大厂“裸辞”后...
shell中当basename和dirname无法满足你的需求时你一定要想到的命令
机器学习(十六):主成成分分析(PCA)
SAP 电商云 Spartacus UI 页面布局的设计原理
RTL8762DK 远端设备配对
咪咕MGV2000KL南传_S905L3B_MT7668线刷固件包
博云入选Gartner中国云原生领域代表性厂商
码蹄集 - MT3029 - 新月轩就餐
Go语言gin框架返回json格式里,怎么把某个int属性转成string返回?
手把手教你搭建一个Minecraft 服务器
奖金池高达 20 万,RTE 2022 创新编程挑战赛正式开启
taro 滚动组件ScrollView
18 Data Collection Analysis
谷粒商城笔记
PAT 甲级 A1072 Gas Station
Analysis of Http-Sumggling Cache Vulnerability









