发布时间:2022-08-19 12:19
行级锁: 行级锁是 MySQL 中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种
共享锁(Share Lock)
共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有共享锁。
如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。
用法
SELECT ... LOCK IN SHARE MODE;
在查询语句后面增加LOCK IN SHARE MODE,MySQL 就会对查询结果中的每行都加共享锁,当没有其他线程对查询结果集中的任何一行使用排他锁时,可以成功申请共享锁,否则会被阻塞。其他线程也可以读取使用了共享锁的表,而且这些线程读取的是同一个版本的数据。
排他锁(Exclusive Lock)
排他锁又称写锁、独占锁,如果事务T对数据A加上排他锁后,则其他事务不能再对A加任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。
用法
SELECT ... FOR UPDATE;
在查询语句后面增加FOR UPDATE,MySQL 就会对查询结果中的每行都加排他锁,当没有其他线程对查询结果集中的任何一行使用排他锁时,可以成功申请排他锁,否则会被阻塞。
逼真度超越「AI设计师」DALL·E 2!谷歌大脑推出新的文本生成图像模型Imagen
王心凌再次爆火,为了防止收费,我连夜用Python把她所有的MV离线
Github Star 全球唯一的国产程序员!Apache 顶级项目Commiter。
Web项目实战 | 购物系统v2.0 | 开发记录(十)SpringBoot整合阿里云OSS对象存储服务 | Web将上传的商品图片保存到阿里云,同时将地址保存到数据库
有关%E4%BD%A0%E6%98%AF%E4相关类型解码问题解决
爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架