学习笔记:mysql锁

1,MyISAM 表锁- 并发插入性能较差

 

2,innoDB 行锁

4FED410BE84F4CF7BD20FFAF7618399Euploading.4e448015.gif正在上传…重新上传取消

 

 

3,一致性非锁定读

618CBB79BB0A452B8D9C7FE42272BFE9uploading.4e448015.gif正在上传…重新上传取消618CBB79BB0A452B8D9C7FE42272BFE9uploading.4e448015.gif转存失败重新上传取消

 

 

4,一致性锁定读

560923B98419414F95DFA28D61ECED3Duploading.4e448015.gif正在上传…重新上传取消560923B98419414F95DFA28D61ECED3Duploading.4e448015.gif转存失败重新上传取消

 

 

5,innodb 默认Next-Key Locking ( = Recork Lock + Gap Lock) 算法,可以避免幻读问题

(同一个事务,两次读到数据不一致),

select ...for update 会对记录进行gap lock的加锁

F0FF4337B38B421DAE73111DA01A347Euploading.4e448015.gif正在上传…重新上传取消F0FF4337B38B421DAE73111DA01A347Euploading.4e448015.gif转存失败重新上传取消

 

 

6,死锁-MySQL会帮你做回滚操作

7CC2291F34104BBF9E1C363143FAA9B0uploading.4e448015.gif正在上传…重新上传取消7CC2291F34104BBF9E1C363143FAA9B0uploading.4e448015.gif转存失败重新上传取消

 

 

7,死锁用例

CF700502E2854828B8A1B01956DD3FC7uploading.4e448015.gif转存失败重新上传取消CF700502E2854828B8A1B01956DD3FC7uploading.4e448015.gif转存失败重新上传取消

 

0F2DEF8500AE47E78B38554F1F626180uploading.4e448015.gif转存失败重新上传取消0F2DEF8500AE47E78B38554F1F626180uploading.4e448015.gif转存失败重新上传取消

 

  • innerdb, 在sql没有用到索引的时候,用的是表级锁

 

 

 

 

RR事务级别下Gap锁的条件

  • 对主键索引或者唯一索引使用Gap锁条件:如果where全部命中,则不会用Gap锁,只会加记录锁。如果where条件部分命中或全部命中,会加Gap锁
  • Gap锁会用在非唯一索引或者不走索引的当前读中

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值