行级锁 表级锁 乐观锁 悲观锁

目录

行级锁

表级锁

悲观锁

乐观锁

总结:


行级锁

行级锁,一般是指排它锁,即被锁定行不可进行修改,删除,只可以被其他会话select。行级锁之前需要先加表结构共享锁。

  • row-level loking,锁住一行记录。
  • 开销大,加锁慢,会死锁。
  • 锁粒度小,发生所冲突概率小,并发效率高;适合并发写,事务控制。
  • 并不是直接丢记录行加锁,而是对行对应的索引加锁:
  1. 如果sql 语句操作了主键索引,Mysql 就会锁定这条主键索引。
  2. 如果sql语句操作了非主键索引,MySQL会先锁定该非主键索引,再锁定相关的主键索引。
  3. 在InnoDB中,如果SQL语句不涉及索引,则会通过隐藏的聚簇索引来对记录加锁。
  4. 对聚簇索引加锁,实际效果跟表锁一样,因为找到某一条记录就得扫描全表,要扫描全表,就得锁定表。

表级锁

表级锁,一般是指表结构共享锁锁,是不可对该表执行DDL操作,但对DML操作都不限制。

  • table-level locking,锁住整个表。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值