MySQL的MVCC的用途介绍
本篇文章给大家带来的内容是对于MySQL的MVCC的用途介绍,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。
MVCC(多版本并发控制)
作用:许多状况下可以以免加锁操纵,落低开销。
InnoDB下的MVCC
通过在每行记载背面保留两个隐蔽的列来实现,行的新建工夫、行的逾期工夫(删除工夫)。这里的工夫指的是系统版本号,每开端一个新的事物,系统版本号都会自增。事物开端时刻的系统版本号会作为事物的版本号,用来和查询到的每行记载的版本号进行比拼。
REPEATABLE READ隔离级别下MVCC的概括操纵
SELECT
InnoDB 只查寻版本早于目前事物版本的数据行(行的系统版本号 <= 事物的系统版本号),这样可以确保事物读取的行,要么是在事物开始前已经存在的,要么是事物自身插入或者修改过的。(也就是和其它事物是隔离的)
行的删除版本要末不决义,要末大于目前事物版本号。这样可以确保事物读取到的行,在事物开端以前未被删除。
相符上面两个前提的记载才干返回做完查询效果。
INSERT
InnoDB 为新插入的每一行保留目前系统版本号作为行版本号。
UPDATE
InnoDB 为插入一行新记载,保留目前系统版本号作为行版本号,同时保留目前系统版本号到本来的行作为行删除标识。
DELETE
InnoDB 为删除的每一行保留目前系统版本号作为删除标识。
本篇文章到这里就已经全部完毕了,更多其他出色内容可以关注百分百源码网的MySQL教程视频栏目!
以上就是MySQL的MVCC的用途介绍的细致内容,更多请关注 百分百源码网 其它相干文章!