Innodb2

alisql

共享锁排他锁

行级锁

  • s lock read
  • x lock update or delete

意向锁

表级锁
允许行级和表级锁共存

  • IS intend to set s lock
  • IX intend to set X lock
    Select ... lock in share mode(IS)
    select ... for update (IX)
    获取s锁之前,必须获取IS或更高的锁
    获取x之前,必须获取IX
    意向锁不会阻塞除非全表请求(lock tables ... write)
    link1处理加表锁的情况

Record lock

  • 锁一个索引记录
  • 没有定义索引时,使用Innodb自建的聚集索引

Gap lock

  • 在rr级别,非唯一索引或无索引时使用
  • 在索引之间上锁
    link2
    link3
    link4

next key lock

record lock和索引前的gap的gap lock
link

insert intention lock

insert位置前的gap lock
insert会对插入成功的行加上排它锁,这个排它锁是个记录锁。如果insert 的事务出现了duplicate-key error ,事务会对duplicate index record加共享锁。这个共享锁在并发的情况下是会产生死锁的。见link

AUTO-INC lock

表锁
link
link

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.Locking 1.1加锁模式:共享锁与独占锁 InnoDB实现了两类行级锁, shared(S)locks ...
    言西枣阅读 753评论 0 0
  • 1. mysql锁知多少 我们进行insert,update,delete,select会加锁吗,如果加锁,加锁步...
    liwsh阅读 5,055评论 0 4
  • 锁:为了支持对于共享资源的并发访问,提供数据的完整性和一致性。 1 lock vs latch (这一章讲的是lo...
    梦工厂阅读 247评论 0 2
  • 前言 数据库锁定机制是数据库为了保证数据的一致性而使各种共享资源在并发访问时变的有序的一种规则。MySQL数据库的...
    Justlearn阅读 1,711评论 0 4
  • 记得有一个调查,说是男人心中最想娶的红楼女子,大众投票率最高的是史湘云。史湘云是谁?贾母史老太君的内侄孙女。在大观...
    d601ea2d8638阅读 1,041评论 0 0