首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL重做日志比缓冲池慢

问MySQL重做日志比缓冲池慢
EN

Stack Overflow用户
提问于 2022-11-04 07:00:06
回答 1查看 12关注 0票数 0

关于MySQL,我有一个问题要问朋友。

重做日志缓冲区是否比缓冲池更慢地保存到磁盘上?

当事务未提交时,系统会关闭,是否有可能重做日志缓冲区中的事件尚未持久?但是缓冲区轮询中的脏页已经保存到磁盘。

我没有找到相关的文件,请原谅我是个新手。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-11-05 21:33:40

InnoDB旨在支持提交而不是回滚。也就是说,当事务完成时,如果您是COMMITting,就没有什么可做的了。但是如果你是ROLLBACKing的话,还有很多事情要做。

回滚必须撤消所有乐观地执行并基本上完成的插入/删除/更新。

对于提交,重做日志最终会被丢弃。对于回滚,将根据日志中的内容读取并执行操作。

另外,请注意,更新或删除一百万行会生成大量重做日志条目,因此需要很长时间才能撤消。也许我们应该讨论一下您是什么查询ROLLBACKing。可能有一种更有效的方法来设计数据流。

另外要注意的是,对数据和索引的所有更改都发生在buffer_pool中。如果大型查询需要更改得太多,以致于溢出了buffer_pool,则需要重新加载这些转储块才能撤消。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74313255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档