当前位置:网站首页>乐观锁批量跟新 纯SQL
乐观锁批量跟新 纯SQL
2022-08-01 20:22:00 【Q z1997】
今天同事问了我一个问题, 乐观锁下如何批量的更新数据 需求如下:
我想了一下 没有什么特别好的方案 讨论了一下 这样的一个sql 可以完成 上述需求的更新 SQL如下:
UPDATE emp
SET del_flag = 1,
record_version = record_version + 1
WHERE
( id, record_version ) IN ( ( 1, 4 ), ( 2, 6 ) )
and del_flag = 0
执行结果
中午和几个朋友讨论了一下 这样写有以下几个问题
- 更新的数据越多 乐观锁版本号的冲突的肯能就越大 这样的写法 相对与把 一个细颗粒的锁 粗话成了一个粗颗粒的锁 在高并发下不建议这样写了
- sql in 条件更新 索然是主键 但是条数过多 或者 数据聚散关系过大 都有可能不走索引 导致sql 新能问题
- 当然如果在并发量不大的前提下 更新条数也可控 这样写也是一个不错的方案
边栏推荐
- Redis 做签到统计
- 【kali-信息收集】(1.6)服务的指纹识别:Nmap、Amap
- 4.1 配置Mysql与注册登录模块
- 【个人作品】记之-串口日志记录工具
- 【kali-信息收集】(1.4)识别活跃的主机/查看打开的端口:Nmap(网络映射器工具)
- Redis does check-in statistics
- 17、负载均衡
- [Energy Conservation Institute] Application of Intelligent Control Device in High Voltage Switchgear
- 漏刻有时文档系统之XE培训系统二次开发配置手册
- 【Dart】dart构造函数学习记录(含dart单例模式写法)
猜你喜欢
随机推荐
【kali-信息收集】(1.2)SNMP枚举:Snmpwalk、Snmpcheck;SMTP枚举:smtp-user-enum
不同的操作加不同的锁详解
57: Chapter 5: Develop admin management services: 10: Develop [get files from MongoDB's GridFS, interface]; (from GridFS, get the SOP of files) (Do not use MongoDB's service, you can exclude its autom
[Multi-task learning] Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts KDD18
nacos安装与配置
用户身份标识与账号体系实践
Determine a binary tree given inorder traversal and another traversal method
[Multi-task optimization] DWA, DTP, Gradnorm (CVPR 2019, ECCV 2018, ICML 2018)
终于有人把AB实验讲明白了
第59章 ApplicationPart内置依赖注入中间件
ARTS_202207W2
WhatsApp群发实战分享——WhatsApp Business API账号
多线程之生产者与消费者
The Internet giant development process
【nn.Parameter()】生成和为什么要初始化
密码学的基础:X.690和对应的BER CER DER编码
SIPp installation and use
如何写一个vim插件?
虚拟机的IP地址自动变为127.0.0.1
启明云端分享|盘点ESP8684开发板有哪些功能