[innodb存储引擎]读书笔记-锁

1、行级锁并不会增加开销,只有当实现本身会增加开销时,行级锁才会增加开销,innodb不需要锁升级,一个锁和多个锁的开销是一样的。

2、innodb的意向锁是表级别的锁。

3、innodb_trx:记录的是当前运行的innodb事务。

     innodb_locks:记录的是当前发生的锁信息。

     innodb_lock_waits:记录的是锁等待的信息。

4、mvcc在RR隔离级别下读的是第一条数据,实现可重复读,在RC级别下则读的是最新的数据,所以会出现不可重复读。

5、innodb_autoinc_lock_mode三种配置下的区分

     0:使用传统的auto-inc  locking

     1:使用mutex互斥量和auto-inc  locking,缺点是有可能产生空洞,类似这种语句INSERT INTO t1 (c1,c2) VALUES (1,'a'), (NULL,'b'), (5,'c'), (NULL,'d');

     2:完全使用mutex,适合高并发,但只推荐在从库row模式下使用,不然容易产生主从数据不一致。

6、一致性锁定读

     select for update X锁

     local in share mode S锁

7、record lock锁定记录、gap lock间隙锁、nextkey lock记录锁+间隙锁,当索引是唯一索引的时候,next_key锁会降级到记录锁。

8、发现死锁后,innodb会马上回滚一个事务。

9、在innodb中,对于insert操作,其会检查插入记录的下一条记录是否被锁定,若已被锁定,则不允许插入。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值