老师您好, 关于乐观锁。。。

来源:6-1 如何实现商品秒杀?(一)

燎丶Trance

2020-12-01

  1. 读数据时在InnoDB是否也是跟随事务去执行的, 就是说读的时候是否有事务。
    => 你说MYSQL默认是给行数据会加上排它锁的
    => 那么按照您说的, 那么执行读操作的时候, 是不是排他锁不会对读操作进行反应, 只会对写操作进行反应呢

我在想, 如果对读操作在读完后, 读事务未提交, 那么也算是排它锁锁住的啊。 虽然可以读,那么所有读操作都可以存在读完不提交的情况,那不也是锁住了。 当然如果读操作是事务开始与提交算完成那当我没说。 如果是锁住了, 那么就不用了乐观锁了啊?还有就是如果读事务不存在有锁的情况也当我没说。

简单来说 读操作是不受锁影响的吗?

写回答

1回答

神思者

2020-12-01

排它锁是不允许其它事务对数据加锁。比如insert、delete、update都是要加排它锁的,但是select默认是不加锁的,所以加排它锁的数据是可以被select读取到的

0
3
燎丶Trance
回复
神思者
谢谢老师 我明白了 这不是锁的问题 是并发的问题。
2020-12-02
共3条回复

阿里新零售数据库设计与实战 (升级版)

解锁“新零售”业务让数据库实战能力再上一层楼

2101 学习 · 701 问题

查看课程