From 7b56b9ee01797fe874e32326e913a2b339340b6d Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 12 Oct 2022 10:25:34 +0800 Subject: [PATCH] =?UTF-8?q?[docs=20update]=E5=B8=B8=E8=A7=81=E7=9A=84=20SQ?= =?UTF-8?q?L=20=E4=BC=98=E5=8C=96=E6=89=8B=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/database/mysql/mysql-questions-01.md | 8 ++++++++ .../mysql/some-thoughts-on-database-storage-time.md | 2 +- docs/java/basis/unsafe.md | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/database/mysql/mysql-questions-01.md b/docs/database/mysql/mysql-questions-01.md index 8a2c2769..01a3299b 100644 --- a/docs/database/mysql/mysql-questions-01.md +++ b/docs/database/mysql/mysql-questions-01.md @@ -481,6 +481,14 @@ MySQL 提供了两个方法来处理 ip 地址 插入数据前,先用 `INET_ATON()` 把 ip 地址转为整型,显示数据时,使用 `INET_NTOA()` 把整型的 ip 地址转为地址显示即可。 +### 有哪些常见的 SQL 优化手段? + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的「技术面试题篇」有一篇文章详细介绍了常见的 SQL 优化手段,非常全面,清晰易懂! + +![常见的 SQL 优化手段](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/javamianshizhibei/javamianshizhibei-sql-optimization.png) + + + ## 参考 - 《高性能 MySQL》第 7 章 MySQL 高级特性 diff --git a/docs/database/mysql/some-thoughts-on-database-storage-time.md b/docs/database/mysql/some-thoughts-on-database-storage-time.md index 694c9c22..0843a202 100644 --- a/docs/database/mysql/some-thoughts-on-database-storage-time.md +++ b/docs/database/mysql/some-thoughts-on-database-storage-time.md @@ -157,4 +157,4 @@ MySQL 中时间到底怎么存储才好?Datetime?Timestamp? 数值保存的时 每种方式都有各自的优势,根据实际场景才是王道。下面再对这三种方式做一个简单的对比,以供大家实际开发中选择正确的存放时间的数据类型: - \ No newline at end of file +![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-11/总结-常用日期存储方式.jpg) \ No newline at end of file diff --git a/docs/java/basis/unsafe.md b/docs/java/basis/unsafe.md index 572bbd2c..de89c767 100644 --- a/docs/java/basis/unsafe.md +++ b/docs/java/basis/unsafe.md @@ -159,7 +159,7 @@ addr3: 2433733894944 72340172838076673 ``` -分析一下运行结果,首先使用`allocateMemory`方法申请 4 字节长度的内存空间,在循环中调用`setMemory`方法向每个字节写入内容为`byte`类型的 1,当使用 Unsafe 调用`getInt`方法时,因为一个`int`型变量占 4 个字节,会一次性读取 4 个字节,组成一个`int`的值,对应的十进制结果为 16843009。 +分析一下运行结果,首先使用`allocateMemory`方法申请 4 字节长度的内存空间,调用`setMemory`方法向每个字节写入内容为`byte`类型的 1,当使用 Unsafe 调用`getInt`方法时,因为一个`int`型变量占 4 个字节,会一次性读取 4 个字节,组成一个`int`的值,对应的十进制结果为 16843009。 你可以通过下图理解这个过程: