共享锁与排它锁在两个存储引擎中都存在吗?InnoDB中select能否自动上锁
来源:3-12 锁模块之MyISAM与InooDB关于锁方面的区别_2
qq_君君晨晨_0
2019-03-30
老师您好,学了课之后我还有两个问题不确定,想求证一下我的理解是否正确.
- 共享锁排他锁在两个存储引擎中都存在,只不过一个是作用在表中,一个是作用在行中.
- 在MyISAM引擎中增删查改都会自动上锁,在InnoDB中,select要主动上锁才行,增删改InnoDB会主动上锁.
不知道我上面的理解对不对?
写回答
1回答
-
你说的我感觉是对的,我再帮你多总结一点,
InnoDB在sql没有用到索引的时候会锁表而不是锁行,索引(一般是主键)不明确时也是锁表,
例如select * from tableName where id < 8 for update
select * from tableName where id like 8 for update
都是会锁表的,
select * from tableName where id = 8 for update 此条如果有数据是会锁定id为8的数据而不是锁表。
022019-04-01
相似问题