MySQL锁总结

MySQL数据库锁的分类

最近看了下MySQL数据库中锁相关的知识,这里将看完之后记忆的东西做下记录。

  • 按照锁的粒度分:

    • 表锁,特点:锁粒度较粗,加锁简单,
    • 行锁,特点:锁粒度较细,加锁较复杂,
      • 其中行锁包括记录锁(对单条记录加锁),gap锁,next-key锁,插入意向锁;
      • 记录锁能避免脏读和可重复读;
      • gap锁锁的是记录间隙,能够避免脏读,可重复读和幻读;
  • 按照锁的属性分:

    • 共享锁(S锁)
    • 排他锁(X锁)
    • 共享锁和排他锁的兼容情况如下表所示:
      | | X | S |
      |–|--|–|
      | X | 不兼容 | 不兼容 |
      | S | 不兼容 | 兼容 |
  • 按照锁的状态分:

    • 意向共享锁(IS锁)
    • 意向排他锁(IX锁)
    • 意向共享锁和意向排他锁属于表锁
    • 意向共享锁:如果要对表中的记录加共享锁,则会对表加意向共享锁;
    • 意向排他锁:如果要对表中的记录加排他锁,则会对表加意向排他锁;
    • 加意向共享锁和意向排他锁的作用:能够避免对表加索之前,对表中的记录进行遍历,以确定表中记录是否加了排他锁和共享锁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值