mysql innoDB 锁

共享锁

  • 共享锁 读锁
  • 共享锁就是多个事务可以获取同一条数据,但是只能查询不能修改。
SELECT ... LOCK IN SHARE MODE;

排他锁

  • 排他锁 写锁
  • 排他锁是 持有锁的事务不能获取或修改这条数据,直到释放锁。
-- 我从没用过他
SELECT ... for update;

要点

  • 锁都是基于索引加锁的,所以如果数据不存在索引,innoDB 会对表进行加锁。