From 5e794c5b0fb85638b18b05976159ab2bdf186493 Mon Sep 17 00:00:00 2001 From: fanxijun Date: Thu, 4 Jul 2019 20:12:15 +0800 Subject: [PATCH 1/6] =?UTF-8?q?Update=20=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=8E=9F=E7=90=86.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更正MVCC里SELECT操作时检查行数据版本号的条件,请查阅。 --- notes/数据库系统原理.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notes/数据库系统原理.md b/notes/数据库系统原理.md index 22118e9b..d3387253 100644 --- a/notes/数据库系统原理.md +++ b/notes/数据库系统原理.md @@ -334,7 +334,7 @@ MVCC 使用到的快照存储在 Undo 日志中,该日志通过回滚指针把 多个事务必须读取到同一个数据行的快照,并且这个快照是距离现在最近的一个有效快照。但是也有例外,如果有一个事务正在修改该数据行,那么它可以读取事务本身所做的修改,而不用和其它事务的读取结果一致。 -把没有对一个数据行做修改的事务称为 T,T 所要读取的数据行快照的创建版本号必须小于 T 的版本号,因为如果大于或者等于 T 的版本号,那么表示该数据行快照是其它事务的最新修改,因此不能去读取它。除此之外,T 所要读取的数据行快照的删除版本号必须大于 T 的版本号,因为如果小于等于 T 的版本号,那么表示该数据行快照是已经被删除的,不应该去读取它。 +把没有对一个数据行做修改的事务称为 T,T 所要读取的数据行快照的创建版本号必须小于或等于 T 的版本号,因为如果大于 T 的版本号,那么表示该数据行快照是其它事务的最新修改,因此不能去读取它。除此之外,T 所要读取的数据行快照的删除版本号必须是未定义或者大于 T 的版本号,因为如果小于等于 T 的版本号,那么表示该数据行快照是已经被删除的,不应该去读取它。 ### 2. INSERT From 52aa5114f3e417e514f8abe18234aec3c84564d0 Mon Sep 17 00:00:00 2001 From: tyltr Date: Tue, 9 Jul 2019 18:08:28 +0800 Subject: [PATCH 2/6] =?UTF-8?q?Gap=20lock=20=E4=B8=8ENEXT-KEY=20Lock?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=E4=B8=80=E5=9B=9E=E4=BA=8B=EF=BC=8CNEXT-KEY?= =?UTF-8?q?=20Lock=20=3D=20NEXT-KEY=20Lock=20+=20Record=20Lock?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/MySQL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notes/MySQL.md b/notes/MySQL.md index ca4cbdfc..f638a3a4 100644 --- a/notes/MySQL.md +++ b/notes/MySQL.md @@ -260,7 +260,7 @@ SELECT * FROM post WHERE post.id IN (123,456,567,9098,8904); 是 MySQL 默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎。 -实现了四个标准的隔离级别,默认级别是可重复读(REPEATABLE READ)。在可重复读隔离级别下,通过多版本并发控制(MVCC)+ 间隙锁(Next-Key Locking)防止幻影读。 +实现了四个标准的隔离级别,默认级别是可重复读(REPEATABLE READ)。在可重复读隔离级别下,通过多版本并发控制(MVCC)+ Next-Key Locking 防止幻影读。 主索引是聚簇索引,在索引中保存了数据,从而避免直接读取磁盘,因此对查询性能有很大的提升。 From ab822bf108ed537b55393444fef38e84ce2bebda Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Sat, 13 Jul 2019 23:52:56 +0800 Subject: [PATCH 3/6] auto commit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 382ff192..43a0b6b9 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@
-
+
### 更多内容 From e8d80f8bb8abb1162c025e1251849263db30909a Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Sat, 13 Jul 2019 23:53:26 +0800 Subject: [PATCH 4/6] auto commit --- assets/download.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/download.md b/assets/download.md index 0b704873..0c0de9e3 100644 --- a/assets/download.md +++ b/assets/download.md @@ -30,5 +30,5 @@ 离线版本由公众号 **CyC2018** 发布,最新版本也会在上面及时发布,在公众号后台回复 **离线下载** 即可获取下载链接。 -
+
From fdf1784ebcde7662239063fed0f766530adbcc6d Mon Sep 17 00:00:00 2001 From: hncboy <619452863@qq.com> Date: Wed, 17 Jul 2019 12:34:36 +0800 Subject: [PATCH 5/6] Change maven to gradle --- notes/构建工具.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notes/构建工具.md b/notes/构建工具.md index 74e78bd6..31d13ceb 100644 --- a/notes/构建工具.md +++ b/notes/构建工具.md @@ -32,7 +32,7 @@ # 二、Java 主流构建工具 -Ant 具有编译、测试和打包功能,其后出现的 Maven 在 Ant 的功能基础上又新增了依赖管理功能,而最新的 Maven 又在 Maven 的功能基础上新增了对 Groovy 语言的支持。 +Ant 具有编译、测试和打包功能,其后出现的 Maven 在 Ant 的功能基础上又新增了依赖管理功能,而最新的 Gradle 又在 Maven 的功能基础上新增了对 Groovy 语言的支持。

From 28923a41890e13b3dd6e72ae26de2e7284fc8394 Mon Sep 17 00:00:00 2001 From: BufferedStream <2645079021@qq.com> Date: Thu, 18 Jul 2019 23:03:46 +0800 Subject: [PATCH 6/6] =?UTF-8?q?Update=20=E6=9E=84=E5=BB=BA=E5=B7=A5?= =?UTF-8?q?=E5=85=B7.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/构建工具.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notes/构建工具.md b/notes/构建工具.md index 74e78bd6..31d13ceb 100644 --- a/notes/构建工具.md +++ b/notes/构建工具.md @@ -32,7 +32,7 @@ # 二、Java 主流构建工具 -Ant 具有编译、测试和打包功能,其后出现的 Maven 在 Ant 的功能基础上又新增了依赖管理功能,而最新的 Maven 又在 Maven 的功能基础上新增了对 Groovy 语言的支持。 +Ant 具有编译、测试和打包功能,其后出现的 Maven 在 Ant 的功能基础上又新增了依赖管理功能,而最新的 Gradle 又在 Maven 的功能基础上新增了对 Groovy 语言的支持。