采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我在想, 如果对读操作在读完后, 读事务未提交, 那么也算是排它锁锁住的啊。 虽然可以读,那么所有读操作都可以存在读完不提交的情况,那不也是锁住了。 当然如果读操作是事务开始与提交算完成那当我没说。 如果是锁住了, 那么就不用了乐观锁了啊?还有就是如果读事务不存在有锁的情况也当我没说。
简单来说 读操作是不受锁影响的吗?
排它锁是不允许其它事务对数据加锁。比如insert、delete、update都是要加排它锁的,但是select默认是不加锁的,所以加排它锁的数据是可以被select读取到的
那Select默认不加 也就是可以加 是吧? 那直接加读锁不就不用使用乐观锁了。
如果你的业务需要先查询,根据查询结果判定是不是可以改数据,这时候就要加乐观锁。比如秒杀不能一上来就把库存减一,万一库存是0,你不做判断,把库存减成负数怎么办?
谢谢老师 我明白了 这不是锁的问题 是并发的问题。
登录后可查看更多问答,登录/注册
解锁“新零售”业务让数据库实战能力再上一层楼
1.4k 7
1.5k 4
1.1k 1
1.2k 22
1.2k 12