MySQL使用乐观锁要不要把事务隔离级别改为读提交?
我现在有两个想法
1.要改为读提交: MySQL默认的隔离级别是可重复读, 因为乐观锁要在事务执行时读取记录是否改变, 如果不能读取到已提交事务修改的记录, 乐观锁就没法实现了
2.不用改为读提交: update ... where stock=...语句会加X锁, 它是当前读, 也就是能读到当前最新的记录, 所以不用改也行
想法1应该是对的, 想法2我不确定是不是当前读, 能读取到最新的记录吗?
and 回答一下标题的问题吧
MySQL
数据库
读提交
赞
收藏 0
回答 1
待解决
相关问题
mysql 默认隔离级别是REPEATABLE-READ
521浏览 • 1回复 待解决
乐观锁和悲观锁在SQL中如何体现?
656浏览 • 1回复 待解决
MongoDB 集群的跨行事务通过几个阶段提交实现?
1316浏览 • 1回复 待解决
OB的分布式事务可以做到一阶段提交吗?
749浏览 • 1回复 待解决
mysql 二阶段提交 binlog,redolog,undolog
340浏览 • 1回复 待解决
RDS MySQL是否有表锁的监控?
620浏览 • 1回复 待解决
基于mysql的悲观锁的运用场景?
527浏览 • 1回复 待解决
MySQL MyISAM对比InnoDB为什么不支持事务?
492浏览 • 1回复 待解决
mysql 表自连接使用id作为比较条件效率贼低,改为创建时间效率就很高,是为什么?
560浏览 • 1回复 待解决
MySQL 非自增的字符串主键会加间隙锁吗?
1519浏览 • 1回复 待解决
千万级别甚至更大的的MySQL数据表修改表结构如何规避风险?
528浏览 • 1回复 待解决
在postgre数据库里遇到了虚拟事务virtualtransaction 的概念,请问什么是虚拟事务?
1019浏览 • 0回复 待解决
事务回滚导致的自增id断裂如何解决?让XX的产品经理认为MYSQL数据丢失了
762浏览 • 1回复 待解决
django orm 如何使用 mysql now函数?
720浏览 • 1回复 待解决
鸿蒙的phone工程能修改为TV或其他的工程么?
3311浏览 • 1回复 待解决
laravel一主多从,从库读,主库写,是如何实现读库的负载均衡的?
402浏览 • 1回复 待解决
PolarDB 的行如何从块中读?
257浏览 • 1回复 待解决
PolarDB更改为管控模式后登录DMS异常
419浏览 • 1回复 待解决
golang 使用go-sql-driver/mysql 查总条数
88浏览 • 1回复 待解决
如何通过代码随意修改锁屏图片?
2354浏览 • 1回复 待解决
Redis的事务是什么有懂的吗?
385浏览 • 1回复 待解决
redis如何实现双读一致问题?
679浏览 • 1回复 待解决
什么是PolarDB的锁分析?
445浏览 • 1回复 待解决
为了满足不同场景下对一致性级别的要求,PolarDB 提供了哪三种一致性级别?
582浏览 • 1回复 待解决
mysql 向下无限递归(不使用函数,单纯 sql)
1356浏览 • 1回复 待解决
自己动手解决了, 在MySQL默认的隔离级别-可重复读 下执行的
结论:
update ... where stock=...语句是当前读, 会加X锁,
在这条语句执行时, 会读取到已提交的记录(但在10处的select由于是RR下, 只能读到版本链的旧数据)
所以不用把事务隔离级别改为读提交