From f77b010121a660670fb6c18b54568719f31ea16f Mon Sep 17 00:00:00 2001 From: Snailclimb Date: Thu, 7 Jun 2018 21:42:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=94=81=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 数据存储/Mysql.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/数据存储/Mysql.md b/数据存储/Mysql.md index 509c8cbf..30702cf7 100644 --- a/数据存储/Mysql.md +++ b/数据存储/Mysql.md @@ -95,3 +95,17 @@ 事务隔离机制的实现基于锁机制和并发调度。其中并发调度使用的是MVVC(多版本并发控制),通过保存修改的旧版本信息来支持并发一致性读和回滚等特性。 详细内容可以参考: [可能是最漂亮的Spring事务管理详解](https://blog.csdn.net/qq_34337272/article/details/80394121) + +- ### 锁机制 + **MyISAM和InnoDB存储引擎使用的锁:** + + - MyISAM采用表级锁(table-level locking)。 + - InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁 + + **表级锁和行级锁对比:** + + - **表级锁:** Mysql中锁定 **粒度最大** 的一种锁,对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快,不会出现死锁。其锁定粒度最大,触发锁冲突的概率最高,并发度最低,MyISAM和 InnoDB引擎都支持表级锁。 + - **行级锁:** Mysql中锁定 **粒度最小** 的一种锁,只针对当前操作的行进行加锁。 行级锁能大大减少数据库操作的冲突。其加锁粒度最小,并发度高,但加锁的开销也最大,加锁慢,会出现死锁。 + + 详细内容可以参考: + [Mysql锁机制简单了解一下](https://blog.csdn.net/qq_34337272/article/details/80611486) \ No newline at end of file