【MySQL】说下你了解的MVCC机制?包括其中的原理?(约241字)

MVCC(Multi-Version Concurrency Control)是一种多版本并发控制机制,它可以在数据库的读写操作中,将数据按照时间版本进行保存,并且在读取时只读取已提交的版本,避免数据的并发访问产生的问题。

MVCC是通过在每行记录后面保存两个隐藏的列来实现的。 这两个列,一个保存了行的创建时间,一个保存行的过期时间(或删除时间)。 当然存储的并不是实际的时间值,而是系统版本号(system version number)。 每开始一个新的事务,系统版本号都会自动递增。

补充

MVCC就是多版本并发控制,实现了读写的并发控制,在mysql通过readview 隐藏字段和undolog实现了,比如在可重复读里面,比如开启了一个事务,就生成了一个readview,然后记录现在active的事务,判断查询的数据在这个事务可不可读。

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容