一条SQL查询语句是如何执行的?(16)
这整个过程想想都麻烦 。 相比之下 , 还是先在粉板上记一下方便 。 你想想 , 如果掌柜没有粉板的帮助 , 每次记账都得翻账本 , 效率是不是低得让人难以忍受?
同样 , 在 MySQL 里也有这个问题 , 如果每一次的更新操作都需要写进磁盘 , 然后磁盘也要找到对应的那条记录 , 然后再更新 , 整个过程 IO 成本、查找成本都很高 。 为了解决这个问题 , MySQL 的设计者就用了类似酒店掌柜粉板的思路来提升更新效率 。
而粉板和账本配合的整个过程 , 其实就是 MySQL 里经常说到的 WAL 技术 , WAL 的全称是 Write-Ahead Logging , 它的关键点就是先写日志 , 再写磁盘 , 也就是先写粉板 , 等不忙的时候再写账本 。
具体来说 , 当有一条记录需要更新的时候 , InnoDB 引擎就会先把记录写到 redo log(粉板)里面 , 并更新内存 , 这个时候更新就算完成了 。 同时 , InnoDB 引擎会在适当的时候 , 将这个操作记录更新到磁盘里面 , 而这个更新往往是在系统比较空闲的时候做 , 这就像打烊以后掌柜做的事 。
如果今天赊账的不多 , 掌柜可以等打烊后再整理 。 但如果某天赊账的特别多 , 粉板写满了 , 又怎么办呢?这个时候掌柜只好放下手中的活儿 , 把粉板中的一部分赊账记录更新到账本中 , 然后把这些记录从粉板上擦掉 , 为记新账腾出空间 。
推荐阅读
- Uzi|LOL近年来两大转会假新闻!一条比一条离谱好笑
- 手机游戏|DNF关服了会有什么补偿?玩家讨论出四种可能,最后一条最靠谱
- 一条小团团|瘦身成功的小团团,只打算邀女粉庆生,结果多了8个男粉
- 一条小团团|网红「一条小团团」不惧恶评!大方露脸,发布视频!自称:从未被认出过
- 梦幻西游|梦幻西游:翻出一条10级双蓝字腰带,引来土豪哄抢,价值飙升10亿
- 超激斗梦境|《超激斗梦境》人物每一条属性介绍
- 一条小团团|鱼死网破?小团团发文暗示被背锅,公会的问题和她没关系
- 一条小团团|虎牙法神带小团团开黑,振刀成功后,小团团激动:我负责捡武器
- 云顶之弈|云顶之弈:开局三龙族,是天赐还是陷阱?不要一条道走到黑!
- 打野|新版本T0刺客突然诞生,出名刀可以再获得一条命,天克百里玄策!