From f1af0ca13db258b9e5756d7a4d2f9f70892c86e6 Mon Sep 17 00:00:00 2001 From: SnailClimb Date: Sun, 31 Mar 2019 17:07:04 +0800 Subject: [PATCH 1/3] Fix wrong format --- ...可能是把Java内存区域讲的最清楚的一篇文章.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/java/可能是把Java内存区域讲的最清楚的一篇文章.md b/docs/java/可能是把Java内存区域讲的最清楚的一篇文章.md index 8648c63d..d5b756c9 100644 --- a/docs/java/可能是把Java内存区域讲的最清楚的一篇文章.md +++ b/docs/java/可能是把Java内存区域讲的最清楚的一篇文章.md @@ -51,6 +51,7 @@ Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成
+ **JDK 1.8 :**
From d368dacb3567d607a3a2bc5a9ca8a0b3cf5a9fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E6=9C=A8=E5=8C=A0?= Date: Sun, 31 Mar 2019 18:24:36 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=83=A8=E5=88=86?= =?UTF-8?q?=E9=94=99=E5=88=AB=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正部分错别字 --- docs/database/一条sql语句在mysql中如何执行的.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/database/一条sql语句在mysql中如何执行的.md b/docs/database/一条sql语句在mysql中如何执行的.md index c3355c8c..03dbe361 100644 --- a/docs/database/一条sql语句在mysql中如何执行的.md +++ b/docs/database/一条sql语句在mysql中如何执行的.md @@ -87,7 +87,7 @@ MySQL 没有命中缓存,那么就会进入分析器,分析器主要是用 ### 2.1 查询语句 -说了以上这么多,那么究竟一条 sql 语句是如何执行的呢?其实我们的 sql 可以分为 2 中,一种是查询,一种是更新(增加,更新,删除)。我们先分析下查询语句,语句如下: +说了以上这么多,那么究竟一条 sql 语句是如何执行的呢?其实我们的 sql 可以分为两种,一种是查询,一种是更新(增加,更新,删除)。我们先分析下查询语句,语句如下: ```sql select * from tb_student A where A.age='18' and A.name=' 张三 '; From a876e0788fafa36281a3ec80caf668f12780c270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E6=9C=A8=E5=8C=A0?= Date: Sun, 31 Mar 2019 20:46:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整文章排版 --- docs/database/一条sql语句在mysql中如何执行的.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/database/一条sql语句在mysql中如何执行的.md b/docs/database/一条sql语句在mysql中如何执行的.md index c3355c8c..357fa9b4 100644 --- a/docs/database/一条sql语句在mysql中如何执行的.md +++ b/docs/database/一条sql语句在mysql中如何执行的.md @@ -140,8 +140,8 @@ update tb_student A set A.age='19' where A.name=' 张三 '; * MySQL 主要分为 Server 曾和引擎层,Server 层主要包括连接器、查询缓存、分析器、优化器、执行器,同时还有一个日志模块(binlog),这个日志模块所有执行引擎都可以共用,redolog 只有 InnoDB 有。 * 引擎层是插件式的,目前主要包括,MyISAM,InnoDB,Memory 等。 -* SQL 等执行过程分为两类,一类对于查询等过程如下:权限校验---》查询缓存---》分析器---》优化器---》权限校验---》执行器---》引擎 -* 对于更新等语句执行流程如下:分析器----》权限校验----》执行器---》引擎---redo log prepare---》binlog---》redo log commit +* 查询语句的执行流程如下:权限校验(如果命中缓存)---》查询缓存---》分析器---》优化器---》权限校验---》执行器---》引擎 +* 更新语句执行流程如下:分析器----》权限校验----》执行器---》引擎---redo log(prepare 状态---》binlog---》redo log(commit状态) ## 四 参考