从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要介绍“MySQL中的insert undo log和update undo log的区别”,在日常操作中,相信很多人在mysql中的insert undo log和update undo log的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中的insert undo log和update undo log的区别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联是一家专业提供康乐企业网站建设,专注与网站设计、网站制作、HTML5建站、小程序制作等业务。10年已为康乐众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
根据行为的不同,undo log分为两种:insert undo log和update undo log
1、insert undo log,是在insert操作中产生的。insert操作的记录只对事务本身可见。
对于其它事务此记录是不可见的,所以 insert undo log 可以在事务提交后直接删除而不需要进行purge操作。
2、update undo log是update或delete操作中产生。
因为会对已经存在的记录产生影响,为了提供 MVCC机制,因此 update undo log 不能在事务提交时就进行删除,而是将事务提交时放到入 history list 上,等待 purge 线程进行最后的删除操作
为了更好的支持并发,InnoDB的多版本一致性读是采用了基于回滚段的的方式。另外,对于更新和删除操作,InnoDB并不是真正的删除原来的记录,而是设置记录的delete mark为1。因此为了解决数据Page和Undo Log膨胀的问题,需要引入purge机制进行回收
为了保证事务并发操作时,在写各自的undo log时不产生冲突,InnoDB采用回滚段的方式来维护undo log的并发写入和持久化。回滚段实际上是一种 Undo 文件组织方式
到此,关于“mysql中的insert undo log和update undo log的区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图