范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

面试官你说说一条更新SQL的执行过程?

  在上一篇《面试官:你说说一条查询SQL的执行过程?》中描述了Mysql的架构分层,通过解析器、优化器和执行引擎完成一条SQL查询的过程,那这一篇续上继续说明一条更新SQL的执行过程。
  对于一个SQL语句的更新来说,前面的流程都可以说类似的,通过解析器进行语法分析,优化器优化,执行引擎去执行,这个都没有什么问题,重点在于多了一点东西,那就是 redo_log 、undo_log 和binlog 。
  执行流程大致如下:  首先客户端发送请求到服务端,建立连接。 服务端先看下查询缓存,对于更新某张表的SQL,该表的所有查询缓存都失效。 接着来到解析器,进行语法分析,一些系统关键字校验,校验语法是否合规。 然后优化器进行SQL优化,比如怎么选择索引之类,然后生成执行计划。 执行引擎去存储引擎查询需要更新的数据。 存储引擎判断当前缓冲池中是否存在需要更新的数据,存在就直接返回,否则去从磁盘加载数据。 执行引擎调用存储引擎API去更新数据。 存储引擎更新数据,同时写入undo_log、redo_log信息。 执行引擎写binlog,提交事务,流程结束。
  可以看到相比于查询流程,实际上更新多了关于undo_log和redo_log的流程,接下来再具体探讨一下这几个流程的执行过程是什么样子。
  redo_log
  redo_log 按照字面翻译称为重做日志 ,是InnoDB存储引擎特有的,用于保证事务的原子性和持久性。怎么理解呢?简单来说就是保存我们执行的更新语句的记录,如果服务器或者Mysql宕机,通过redo_log可以恢复更新的数据。
  按照上述流程来举例的话,比如 update user set age=20 where id=1 这样的简单更新SQL,我们不管执行引擎怎么拿到的数据,不管是从缓冲池拿的还是磁盘拿到的,这条现在数据都在缓冲池里面,然后去缓冲池的数据把age 改成10。
  缓冲池内存中的数据已经更新好了,那么接下来就该开始写redo_log了,只是redo_log也不是直接写文件的,一般都是这样对吧,直接写的话性能太差了,所以就有redo_log_buffer叫做redo_log缓冲。
  在写redo_log的时候先把数据写到redo_log缓冲区,然后异步写入磁盘,很显然,极端情况下会有丢失数据的可能。
  控制这个刷盘策略的的参数叫做 innodb_flush_log_at_trx_commit 。
  这个参数有3个值:0|1|2,默认的话是1。
  0代表提交事务时不会写入磁盘,这样的话性能当然最好,但是在Mysql宕机的情况会丢失上一秒的事务的数据。
  1代表提交事务一定会进行一次刷盘,同步当然性能最差,但是也最安全。
  2代表写入文件系统的缓存,不进行刷盘。这个选项性能略差于1,Mysql宕机的话对数据没有任何影响,只有在操作系统宕机才会丢失数据,这种情况下默认Mysql每秒会执行一次刷盘。
  使用0或者2虽然提高了性能,但是变相的也丧失了事务的持久性。  undo_log
  重做日志保证了事务的持久性,保证能够在宕机后恢复事务的数据,那么另外一种情况就是事务在需要回滚的时候怎么办?这时候就是undo_log的作用了,它保证了事务的一致性。
  对于undo_log来说,简单理解就是做了逆向操作。
  比如 insert 一条数据,就对应生成delete ,update 语句则生成相反的更新语句,这样做到将数据修改回之前的状态。 binlog
  binlog称为二进制日志,大家都很熟悉,记录了改变数据库的那些SQL语句,对于这里来说,更新语句当然是了。
  通过不同于 redo_log 是独属于存储引擎独有的东西,binlog 则是Mysql本身产生的日志。
  不同于redo_log是物理日志,binlog和undo_log都属于逻辑日志。
  这有什么区别呢?
  简单来说,逻辑日志可以认为就是存储的SQL本身,而物理日志看看redo_log存储的是啥就知道了,关于page_id页ID,offset偏移量啊这些东西,记录的是对页的修改。
  另外物理日志可以保证幂等性,而逻辑日志则不一定能,除非本身SQL就是幂等的。
  上面我们提到了redo_log的刷盘策略,binlog就和它非常类似了,控制参数是 sync_binlog 。
  默认值为0,相当于是 innodb_flush_log_at_trx_commit 的值为2,由文件系统控制,同样如果服务器宕机,binlog丢失,当然我们也可以改成1,就和redo_log的效果是一样,每1次事务提交都同步写入磁盘。 事务
  为了保证写redo_log和binlog的一致性,实际采用了二阶段提交的方式。
  prepare阶段:根据 innodb_flush_log_at_trx_commit 设置的刷盘策略决定是否写入磁盘,标记为prepare状态。
  commit阶段:写入binlog日志,事务标记为提交状态。  总结
  发布主题 br/* 自定义样式,实时生效,浏览器实时缓存 */brbr/* 全局属性br * 页边距 padding: 30px;br * 全文字体 font-family: ptima-Regular;br * 英文换行 word-break: break-all;br */br #nice {br  font-size:16px;br  padding:5px;br  font-family: -apple-system-font,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;br  color: rgb(51,51,51);br}brbr/*图片下提示*/br#nice figcaption{br  font-size:12px;br}br#nice .imageflow-caption{br  font-size:12px;br}brbr/* 段落,下方未标注标签参数均同此处br * 上边距 margin-top: 5px;br * 下边距 margin-bottom: 5px;br * 行高 line-height: 26px;br * 词间距 word-spacing: 3px;br * 字间距 letter-spacing: 3px;br * 对齐 text-align: left;br * 颜色 color: #3e3e3e;br * 字体大小 font-size: 16px;br * 首行缩进 text-indent: 2em;br */br#nice p {br  font-size:16px;

我是真的讨厌异地恋发布惊喜预告,任敏周雨彤首演怨种闺蜜3月31日,国内首部异地恋话题电影我是真的讨厌异地恋发布惊喜预告,任敏周雨彤首演怨种闺蜜爆笑日常,以轻喜剧画风展现异地恋情侣相处模式。邓超惊喜出演火车站民警,成为任敏异地恋奔现路途王俊凯被曝延期毕业,曾被取消考试资格,网友北电之耻导语王俊凯易烊千玺和王源这个组合,一直以来关注度都非常高,有不少人都紧盯三人的动态,此前,王源被曝出抽烟,影响了他的资源,现在的王源已经不如两位队友了,本以为王俊凯和易烊千玺可以顺韩国版人世间,才出三集就引爆全球不久前,鱼叔看到一条新闻电视剧人世间刚播完,就被迪士尼买走了全球播出版权。本以为这是一件好事,没想到却在评论区里看到网友各种酸。不过是想让外国人看看中国又破又旧罢了一部讲述普通人的同样是20年黑帮故事,东北往事与征服一比较差距立马有了东北往事我叫黄中华征服这部警匪电视剧上映二十年了,仍然被观众津津乐道,刘华强阴狠毒辣反侦查能力超强,警方抽丝剥茧层层深入,观众看得惊心动魄手心都要岀汗。近几年上映的警匪片远没有征服芒果招商会4大音综抢眼,声生不息宝岛季来袭,浪姐MV首发文烤娱作为内地娱乐的风向标,湖南卫视和芒果TV从来不缺少关注度,一台一网,双剑合璧,众多优质的电视剧综艺节目从这里诞生,众多娱乐圈的明星也从这里起步,双平台的王炸组合也让其他的电视富人伪穷,穷人看戏,才是毁掉向往的生活的真凶01王子落难记夜色渐晚,放在黄子韬面前有三辆车,一辆出租车,一辆豪华跑车,一辆面包车。三辆车代表着接下来的工作为普通困难极难。黄子韬看了看,没有任何犹豫选择了最破的面包车,同时指着甄嬛到死也不知,为何安陵容死前要看着指甲?苏培盛一语道出真相看过甄嬛传的人,几乎都在记恨着安陵容这个角色,倒不是因为她的城府究竟有多深,而是因为,她是一个选择去背叛的角色。而她的坏,则一直是在暗处,经常让人难以提防,也发现了很多其他妃子们致38的炒饭,55的烤肉,唱歌现场像做法?被群嘲的华晨宇到底怎么了最近华晨宇举办了一场演唱会,原以为是一场和粉丝互动的好演唱会。却没想到遭遇了大量网友的嘲讽。这几天大家应该能刷到一下的评论吧。华晨宇的四步曲1。开始低声陶醉状,2。突然中邪,身体手上海滩翻拍女主是赵丽颖上海滩翻拍女主竟然是赵丽颖,网友们都很好奇,想知道男主会到底是谁呢?他就是靳东。上海滩讲述了上海帮会内的人物事情,许文强和三个女人之间的爱恨情仇,最早的上海滩是由周润发跟赵雅芝主演胡海泉公司被强制执行2115万!名下50余家公司,日常戴名表开豪车饿了吗?戳右边关注我们,每天给您送上最新出炉的娱乐硬核大餐!胡海泉摊上事了?12月2日,胡海泉公司被强制执行2115万的消息登上热搜,引起网友围观。据知名企业APP显示,胡海泉名下误以为是汉族的四位明星,关晓彤满族,谁最让你意想不到?众所周知,我国有很多民族,各族之间相互融合相互影响。从古至今,很多少数民族都以能歌善舞而著称。在娱乐圈中,各少数民族艺人也在不断增多,他们出众的才华,给娱乐圈添色不少。但现实生活中
杨颖发文称肩上担子重,不愿再背锅人到中年,该如何为自己减压人到中年,就是一部西游记!悟空的压力,猪八戒的身材,沙僧的发型,唐僧一样絮絮叨叨!最重要的是离西天越来越近了。这是网上很流行的一句话,它把中年人的处境描写得极为到位,让人生出深深的杭州通报林生斌事件进展,指出8大网络谎言,可惜网友不买账林生斌一事沸沸扬扬地闹了一个多月,网络上各种声音传得神乎其神,感性的网友一直在网络上进行各种猜测,而理性的网友则一直希望官方能介入,给公众一个明确的答复。好在,如今杭州方面如今已给除了骂男艺人道德败坏,更值得我们思考的是,为什么他们总能得手这两年,娱乐圈里爆出越来越多私生活混乱的男艺人,从去年的罗志祥,到如今的吴亦凡,他们的所作所为都让人震惊,不断地刷新着大家的三观。每当有艺人被爆出这样的丑闻,舆论都是一片哗然,指责某协会发声替吴亦凡辩解,对男女艺人差别太大,引来郑爽喊冤吴亦凡都美竹事件成了全网大热门,不仅普通网友吃瓜,就连明星们也吃得津津有味。在某品牌宣布与吴亦凡解约的微博中,网友们意外发现谢楠也来点赞了。虽然谢楠本人很快取消并解释说自己是手滑了李若彤55岁仍单身我需要的并不是一段婚姻,而是一个对的人不知不觉,大家心中最美最仙的小龙女已经55岁了,很多人羡慕她在这个年龄还拥有非常好的身材和容貌,但同时也有人为她可惜,因为她至今未嫁。为她可惜,或者觉得她的人生不完整的人,理由无非拥有23套房子出租,却学别人放高利贷,应丽后的荒唐因何而生?应丽后是贾平凹暂坐中的一个人物,她美丽有钱,平时都是穿名牌,开豪车,羡煞旁人。不过,最让人羡慕的,是应丽后的收入来源,不需要付出多少劳动和时间,每个月就有人给她的账户存钱了。23套传神文案读懂这4大标准,助你了解文案背后的商业逻辑有人觉得,文案是一件很难的事情,因为它要直击要害,只用短短一两句话,就要抓住消费者的心。但对于更多的人来说,估计觉得文案是一件相对容易的事情,不就是写字嘛,谁还不会呢?所以很多基础前有林志颖陈若仪,现有林峯张馨月,综艺果然是洗白的好途径当初不理解林志颖为什么要带妻子参加婆婆和妈妈,直到后来才发现,通过这样的节目方式,可以呈现夫妻日常相处模式,是为妻子们正名的大好机会啊。林峯和张馨月的情况与林志颖陈若仪当年的情况很了解了王鸥的成长经历,终于明白她在浪姐中为什么这么分裂乘风破浪的姐姐2已经接近尾声,作为一个表现女性成长女性力量女性思考的节目,自然不会放过任何一个能表达女性主题的机会。所以在最新一期节目中,节目组让各位姐姐都问自己一个问题,用来回顾怦然再心动收官王子文最甜,白冰最遗憾,王琳最峰回路转怦然再心动这个节目持续了三个月,终于收官了,作为一个从第一期追到最后一期的观众,在这个过程中也从五位女嘉宾的恋爱观中收获了许多,虽然在节目最后她们大多数没有找到那个真正让她们再心动儿童恐惧心理学孩子的恐惧情绪,早已隐藏在他的涂鸦里绘画不仅仅是打发时间,涂鸦也并非毫无意义的涂抹,它们是进入儿童内心世界的钥匙。每个人的内心都会有恐惧的情绪,有人害怕黑暗,有人害怕水,有人害怕怪物和幽灵,有人害怕被抛弃,害怕没人爱