The basics of the InnoDB undo logging and history system

摘要

InnoDB实现了多版本并发控制(MVCC),允许用户以不同版本的数据进行交互。每当记录被修改时,当前版本的数据会被存储为“撤销记录”在“撤销日志”中。读取索引时,事务使用“读视图”来控制事务所能看到的记录版本。长时间运行的事务会导致非常旧的读视图,需要将很多行的版本回滚到旧版本,这会降低事务的速度。此外,长时间运行的事务会延迟撤销日志的清理,导致撤销日志的大小增加。删除记录并不是真正的删除,其他事务仍然需要看到记录的存在。InnoDB通过运行“purge”进程来删除标记为删除的记录,并释放撤销日志页和将其从全局历史列表中取消链接,以便重新使用。

欢迎在评论区写下你对这篇文章的看法。

评论

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-22 23:24
浙ICP备14020137号-1 $Map of visitor$