社区
MySQL
帖子详情
问下关于乐观锁、悲观锁和 排它锁 、共享锁这两类的区别
hk__lrzy
2016-03-23 09:26:12
最近在看关于数据库的东西,了解到这几种锁的机制,它们各自的意义我想我大概清楚,但是前两种和后两种的区别却不是很清楚,希望大牛们解答下,谢谢
...全文
304
3
打赏
收藏
问下关于乐观锁、悲观锁和 排它锁 、共享锁这两类的区别
最近在看关于数据库的东西,了解到这几种锁的机制,它们各自的意义我想我大概清楚,但是前两种和后两种的区别却不是很清楚,希望大牛们解答下,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weishaolin13x
2016-03-25
打赏
举报
回复
只不过是按不同的方式进行分类而已,并没有什么关系, 乐观锁、悲观锁 是从是否锁数据方面进行分类 共享锁、排它锁是从 锁的类型进行分类
hk__lrzy
2016-03-24
打赏
举报
回复
那请问下他们 和 乐观锁、悲观锁的关系是什么
weishaolin13x
2016-03-23
打赏
举报
回复
查询一般用共享锁,修改一般用排它锁
SQL server 中
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
锁
机制详解
MySQL
锁
,
悲观
锁
、
乐观
锁
、
排它
锁
、
共享
锁
、表级
锁
共享
锁
又叫做读
锁
,所有的事务只能对其进行读操作不能写操作,加上
共享
锁
后在事务结束之前 其他事。若某个事物对某一行加上了排他
锁
,只能这个事务对其进行读写,在此事务结束之前,其他事务 不能对。我在工作过程中,也会经常用到,
乐观
锁
,
排它
锁
,等。另外与
乐观
锁
相对应的,
悲观
锁
是由数据库自己实现了的,要用的时候,我。名词解释:
共享
锁
又叫做读
锁
,所有的事务只能对其进行读操作不能写操作,加上
共享
锁
后在事务结束。的加
锁
,一直是一个面试中常问的话题。说到这里,由
悲观
锁
涉及到的另外两个
锁
概念就出来了,它们就是
共享
锁
与
排它
锁
。
一文搞懂
共享
锁
、排他
锁
、
悲观
锁
、
乐观
锁
、行
锁
、表
锁
也就是先查询出那条记录,获取出version字段,如果要对那条记录进行操作(更新),则先判断此刻version的值是否与刚刚查询出来时的version的值相等,如果相等,则说明这段期间,没有其他程序对其进行操作,则可以执行更新,将version字段的值加1;
悲观
锁
就是在操作数据时,认为此操作会出现数据冲突,所以在进行每次操作时都要通过获取
锁
才能进行对相同数据的操作,这点跟java中的synchronized很相似,所以
悲观
锁
需要耗费较多的时间。
共享
锁
和
排它
锁
是
悲观
锁
的不同的实现,它俩都属于
悲观
锁
的范畴。
聊一聊数据库中的
锁
分类(
乐观
锁
、
悲观
锁
、
共享
锁
、
排它
锁
、表级
锁
、行级
锁
、页面
锁
)...
乐观
锁
和
悲观
锁
(从策略上划分)
乐观
锁
:
乐观
锁
就如同他的名字一样,非常了乐观,每次去读数据都认为其它事务没有在写数据,总是认为别人不会修改数据,所以就不上
锁
,只有在线程提交数据时会通过检查版本号的形式检测数据有没有被修改过。一般会在数据表中添加版本号(Version)字段来表示被修改的次数,当数据被修改,version+1,只有在version字段和当前数据库的version值相同时,才提交成...
MySQL InnoDB中,
乐观
锁
、
悲观
锁
、
共享
锁
、
排它
锁
、行
锁
、表
锁
、死
锁
概念的理解
若事务 1 对数据对象A加上X
锁
,事务 1 可以读A也可以修改A,其他事务不能再对A加任何
锁
,直到事物 1 释放A上的
锁
。这保证了其他事务在事物 1 释放A上的
锁
之前不能再读取和修改A。
排它
锁
会阻塞所有的
排它
锁
和
共享
锁
读取为什么要加读
锁
呢:防止数据在被读取的时候被别的线程加上写
锁
,使用方式:在需要执行的语句后面加上。
MySQL
56,940
社区成员
56,756
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章