当前位置:网站首页>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 常见面试题
更新流程和两日志问题
两阶段提交问题
边栏推荐
- 太一集团宣布全资收购火币旗下社交产品火信
- PAT 甲级 A1072 Gas Station
- 移动百事通BesTV_R3300-L_S905L_8189_线刷固件包
- Analysis of Http-Sumggling Cache Vulnerability
- 地理标志农产品需双重保护
- R语言使用cov函数计算矩阵或者dataframe数据变量之间的协方差、cor函数计算相关性、cor函数通过method参数指定相关性、相关性计算方法Pearson,Spearman, Kendall
- SAP 电商云 Spartacus UI SSR 里 engine 和 engine instance 的区别
- 博云入选Gartner中国云原生领域代表性厂商
- 测试零基础如何进入大厂?一场面试教会你(附面试题解析)
- 软件基础的理论
猜你喜欢
随机推荐
GraphQL 入门与实践
泰坦尼克号沉船数据之美——起于悲剧,止于浪漫
SAP 电商云 Spartacus UI 页面布局的设计原理
Analysis of the gourd baby
jMeter Transaction Controller 学习笔记
刷爆朋友圈!Alibaba出品亿级并发设计速成笔记太香了!
力拓信创生态,博睿数据多款产品获得东方通与达梦数据库产品兼容互认证明
闭包及闭包的使用
Selenium Webdriver驱动自管理
御神楽的学习记录之基于FPGA的AHT10温湿度数据采集
HCIP笔记(8)
全世界国家和地区国家顶级域名对照表
机器学习(十八):随机搜索和XGBoost
太一集团宣布全资收购火币旗下社交产品火信
ping不通百度
RTL8762DK 远端设备配对
奖金池高达 20 万,RTE 2022 创新编程挑战赛正式开启
Minecraft 服务器安装Forge 并添加Mod
gcc7.5.0编译ceres-solver报错‘is_trivially_default_constructible’ is not a member of ‘std’
【IDEA】idea配置