MySQL--锁

MySQL 锁
锁的类型
  • 行锁
    粒度最小的锁,存在死锁。
  • 页锁
    粒度在行锁和表锁之间的锁。
  • 表锁
    粒度较大的锁,不存在死锁。
行锁的类型
  • 共享锁
    允许事物读一行的数据
  • 排他锁
    允许事物删除或者更新一行数据
意向锁类型
  • 意向共享锁
    事物想要获得一张表中某几行的共享锁
  • 意向排它锁
    事物想要获得一张表中某几行的排它锁
一致性非锁定读

在innodb存储引擎下,通过多版本控制的方式来读取当前执行时间数据中的数据。如果读取的行正在执行delete,update操作,这个时候的读操作也不会等待锁的释放,相反的,innodb引擎回去读取行的一个快照数据。

行锁的三种算法
  • Record Lock 单行记录上锁
  • Gap Lock 间隙锁,锁定一个范围,不包含记录本身
  • Next-Key Lock (Gap Lock + Record Lock)也就是这个范围还包含本身

你可能感兴趣的:(MySQL--锁)