
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发的相关技术知识内容,而本文我们就通过案例分析来简单了解一下,数据库锁的类型与应用方法分享。
锁是数据库系统区别于文件系统的一个关键特性。锁机制用于管理对共享资源的并发访问。
锁类型
共享锁(SLock)
允许事务读一行数据
排他锁(XLock)
允许事务删除或者更新一行数据
意向共享锁(ISLock)
事务想要获得一张表中某几行的共享锁
意向排他锁
事务想要获得一张表中某几行的排他锁
MVCC
多版本并发控制(Multi-VersionConcurrencyControl,MVCC)是MySQL的InnoDB存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。而未提交读隔离级别总是读取新的数据行,无需使用MVCC。可串行化隔离级别需要对所有读取的行都加锁,单纯使用MVCC无法实现。
基础概念
版本号
系统版本号:是一个递增的数字,每开始一个新的事务,系统版本号就会自动递增。
事务版本号:事务开始时的系统版本号。
隐藏的列
MVCC在每行记录后面都保存着两个隐藏的列,用来存储两个版本号:
创建版本号:指示创建一个数据行的快照时的系统版本号;
删除版本号:如果该快照的删除版本号大于当前事务版本号表示该快照有效,否则表示该快照已经被删除了。
Undo日志
MVCC使用到的快照存储在Undo日志中,该日志通过回滚指针把一个数据行(Record)的所有快照连接起来。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。