事务锁方案

一.行锁是一种悲观锁
为防止被其他人修改。同一时间只能单向进行修改操作
1.假设数据会被其他人修改,先把坑占了
2.先上锁,再更新,完成后释放锁
3.适合写多和写冲突比较多的场景
使用方法:
在数据库事务中锁定操作行可使用 for update
例:select * from t where id = ? for update
优点:稳定可靠,不会出现超卖
缺点:
1.需要查询和计算:性能差、锁阻塞等待
2.锁阻塞等待会导致客户端延迟或超时
二.乐观锁
1.假设数据不会被其他人修改,只有自己操作时验证一下
2.CAS:先比较,再更新
3.适合写少和写冲突少的场景
case
    when 列名= 条件值1 then 选项1
    when 列名=条件值2 then 选项2…
    else 默认值 end
  例:
  在这里插入图片描述
   根据这个国家人口数据,统计各个大洲的人口数量
   在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值