码迷,mamicode.com
首页 > 其他好文 > 详细

行锁、页面锁与表锁

时间:2018-11-02 16:37:42      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:info   innodb   col   出现   分享   加锁   需要   strong   nod   

按锁定粒度:表锁、页面锁、行锁

存储引擎支持情况:

技术分享图片

 

在具体说明之前得明白什么是死锁,什么是锁冲突

死锁: 多个进程互相等待对方锁的释放

锁冲突:一个进程等待另一个进程释放需要的锁

 

 

行锁

粒度小,开销大,加锁慢,会产生死锁,发生锁冲突的概率最低,并发度也最高。

备注:在InnoDB中,锁是逐步获得的,这可能造成多个进程互相等待的尴尬局面,造成了死锁。

分类:共享锁 排他锁

备注: 共享锁又称读锁,排他锁又称写锁

 

表锁

粒度大,开销小,加锁快,不会出现死锁,发出锁冲突的概率最高,并发度最低。

备注:MyISAM总是一次性获得所需的全部锁,要么全部满足,要么全部等待,因此不会产生死锁

分类:表共享锁表排他锁

 

页面锁

各方面介于行锁与表锁之间

 

行锁、页面锁与表锁

标签:info   innodb   col   出现   分享   加锁   需要   strong   nod   

原文地址:https://www.cnblogs.com/yanze/p/9896853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!