innodb锁机制

    

       innodb 实现了行锁机制,这是它相对 myisam 的最大优点之一。但是它的行锁是一种基于索引的“准行锁”,也就是说,只有通过索引检索数据才会加行锁,否则加的将是表锁。而且对于相同索引的不同记录,innodb 加的是同一个锁。

例如: select * from t where name = “iknow” for update;
只有当你在 name 字段建了索引,innodb 才会给以上语句加行锁, 并且如果name=”iknow”有多条记录, innodb 会给这多条记录一起加行锁。另外,需要注意的是,在不同索引上的锁也会互斥,也就是说,如果两条更新语句使用了不同的索引,但是这两个索引覆盖了相同的记录,那么它们会也会互斥。
由于 innodb 采用了 mvcc 的事务机制,所以它的锁只会阻塞写,从不阻塞读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值