数据库的锁
两大类:乐观锁,悲观锁.
用处:保障数据安全,处理高并发问题
第一种:乐观锁是靠CAS算法中包含三个参数(V,E,N),V表示要更新的变量(也就是从主存中拷贝过来的值)、E表示预期的值、N表示新值。
如果E与V值相等,就传入N值. CAS容易有ABA问题.ABA问题是一个线程把A改成了B,另外个线程把B又改成了A,导致修改重复,
例子:把火锅会员费小于100的,都加上100,改完的时候,那个人消费了100,又给他加了100
第二种:通过判断版本号version是否修改.来判断------->只在提交更新的时候才判断
总认为别人不会被修改

悲观锁:总认为别人会修改
oracle没有页级锁
行级锁:排它锁,共享锁,更新锁,意向锁
排它锁:(写锁)(独占锁): A更新操作时在操作时不予许别人对这条数据读和写.
共享锁(读锁): A加上读锁时,其他事务只能加读锁,select语句;读取后立即解除共享锁
读的时候,不予许被修改
更新锁:当一个事务执行update时,数据库会先给事务配个更新锁,当执行更新操作时,自动把更新锁升级为独占锁,写锁
oracle中使用的就是这个锁,能读不能写,
意向锁:快速判断哪些资源被所定
表锁:>>>>>
oracle:
行级锁 : 一般用的是更新锁
表级锁 : 一般是表结构共享锁,不可对表进行DDL操作 ,行级锁要先加上表级锁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值