sql事务的执行,如果需要锁定数据进行更新操作,则必定离不开锁。
创新互联成立于2013年,先为睢阳等服务建站,睢阳等地企业,进行企业商务咨询服务。为睢阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
排他锁(X锁),当前事务给记录上锁后(insert update delete),可以进行读写,其他事务不可以加任何锁。
共享锁(S锁),是指当前事务给一条记录上锁后,其他事务也可以给当前记录加共享锁。共享锁只用于锁定读,如需要更新数据,是不允许的。
针对数据库表的锁,又称为表
表级别的 AUTO_INC 锁
在为表某列添加 AUTO_INCREDMENT 属性,之后插入数据时可以不指定该字段,系统会自动为它赋值,此时获取自增值是需要 AUTO_INC 锁锁定的。
何为意向锁
如果存在行锁的情况,想给表加锁,怎么办?遍历查看表有没有行锁,太浪费时间了。此时意向锁登场啦!
有了意向锁,则不需要遍历数据也可以直接判断是否可以给表加锁。
mysql 在 repeatable read 隔离级别解决幻读的,有两种实现方式。一是靠 MVCC 方案解决;二是加锁方案解决。然而在事务加锁时,记录是不存在的,是无法加行锁的。则需要靠间隙锁(gap lock)实现。
select from
select for update
select lock in share mode
insert、update 和 delete 语句的加锁情况
文章名称:数据库篇:MySQL锁详解
文章网址:http://www.csdahua.cn/qtweb/news38/112738.html
成都网站优化推广公司_创新互联,为您提供标签优化、自适应网站、网页设计公司、虚拟主机、网站内链、小程序开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网