[TOC]
参考:
涉及到的知识面有 Buffer Pool & Redo Log & Undo Log & BinLog & CheckPoint & 脏页。
如果每次数据更改操作都直接操作到磁盘上的话,当操作数量多起来的话,那么这些操作将变的很慢。为了提高操作之间的并发度,Mysql设计了缓存系统。
缓存池。当数据完成更改后,不会立马同步到磁盘上,而是先放到缓存池中。
为了防止系统掉电后,缓存池中的数据不丢失,即保证事务的持久性,特此记录一份数据修改之后的Log。例如,事务将 a 从 1 -> 2,b 从 4 -> 3,那么 Log 会记录 a:2, b:3。
innodb_log_write_ahead_size
;CHECKPOINT的作用就是记录上次刷入磁盘截止的位置,这样就不用每次都刷整个 redo log了。
脏页:redo log 上与磁盘数据不同的部分叫脏页,即CHECKPOINT到本次文件光标位置所包含的数据。
按照redo log上记载的数据变化,将磁盘数据更新。本文讲的所有redo log 刷入磁盘都是指,刷入从CHECKPOINT开始到当前文件光标结束的数据。
刷入时机:
为了使事务在执行时能回滚到之前的状态,即保证事务的原子性,特此记录一份数据修改之前的Log。例如,事务将 a 从 1 -> 2,b 从 4 -> 3,那么 Log 会记录 a:1, b:4。
假设有A、B两个数据,值分别为1,2.
Binlog是只记录对数据试图产生变化的行为,即使你更新前后数据没变化,也会记录。
有两种记录方式:
我们在网页中经常需要控制一些元素的隐藏、透明等属性 style .d1{ display: none...
问题解说: 在使用css 的animations 属性时,首次加载循环会出现白色的间隙,看着有...
1.我不想和别人拥抱,因为那里没有你的心跳。 2.爱一个人什么感觉,你吸过毒吗...
简介: 随着5G网络对移动宽带的增强,海量终端互联以及对于高可靠低时延连接的需...
在我们的生活,工作,学习过程中,社交网络已经逐渐成为未来互联网发展的趋势。...
有时候需要在一张图片上设置几个区域,鼠标点击图片的不同区域可以进入不同的页...
这是一篇来自算法转Java后端的一位读者的投稿!文章主要分享了作者从迷茫崩溃到...
1.字体属性 color,规定文本的颜色,如 div{color:red;} font-style,规定文本显...
打开dw,先修改一下页面属性,将页面修改为灰色的,适合图片展示 打开布局属性,...
前言 通知栏组件是一个比较常见的组件了,基本上每个站点都会有怎么个组件,主要...