From d39563fb97d77104c224a9478b741f78f93f3c45 Mon Sep 17 00:00:00 2001 From: Rithard Date: Tue, 11 Oct 2016 11:23:34 +0800 Subject: [PATCH 1/2] Update Readme.md --- Readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Readme.md b/Readme.md index 500787e..17ce877 100644 --- a/Readme.md +++ b/Readme.md @@ -819,6 +819,7 @@ Bulid过程可以分解为4个步骤:预处理(Prepressing), 编译(Compilation) ## 3 Redis原理 +阅读:http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage/ ## 4 乐观锁和悲观锁 @@ -828,6 +829,7 @@ Bulid过程可以分解为4个步骤:预处理(Prepressing), 编译(Compilation) ## 5 MVCC +阅读:http://coolshell.cn/articles/6790.html ## 6 MyISAM和InnoDB From 6584074b850a4342599c974c3eb8cbdb810217d0 Mon Sep 17 00:00:00 2001 From: Rithard Date: Tue, 11 Oct 2016 11:35:40 +0800 Subject: [PATCH 2/2] Update Readme.md --- Readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 17ce877..d2eac9b 100644 --- a/Readme.md +++ b/Readme.md @@ -827,10 +827,12 @@ Bulid过程可以分解为4个步骤:预处理(Prepressing), 编译(Compilation) 乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。 -## 5 MVCC +## 5 MVCC(多版本并发控制) 阅读:http://coolshell.cn/articles/6790.html +大多数的MySQL事务型存储引擎,如InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制。事实上,他们都和另外一种用来增加并发性的被称为“多版本并发控制(MVCC)”的机制来一起使用。MVCC不只使用在MySQL中,Oracle、PostgreSQL,以及其他一些数据库系统也同样使用它。你可将MVCC看成行级别锁的一种妥协,它在许多情况下避免了使用锁,同时可以提供更小的开销。根据实现的不同,它可以允许非阻塞式读,在写操作进行时只锁定必要的记录。 + ## 6 MyISAM和InnoDB MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算是超快无比的。