diff --git a/notes/MySQL.md b/notes/MySQL.md index f115ce92..3922b8a6 100644 --- a/notes/MySQL.md +++ b/notes/MySQL.md @@ -22,7 +22,7 @@ * [水平切分](#水平切分) * [垂直切分](#垂直切分) * [Sharding 策略](#sharding-策略) - * [Sharding 存在的问题及解决方案](#sharding-存在的问题及解决方案) + * [Sharding 存在的问题](#sharding-存在的问题) * [六、复制](#六复制) * [主从复制](#主从复制) * [读写分离](#读写分离) @@ -366,19 +366,19 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提 - 范围:可以是 ID 范围也可以是时间范围; - 映射表:使用单独的一个数据库来存储映射关系。 -## Sharding 存在的问题及解决方案 +## Sharding 存在的问题 ### 1. 事务问题 使用分布式事务来解决,比如 XA 接口。 -### 2. JOIN +### 2. 连接 -可以将原来的 JOIN 分解成多个单表 JOIN 查询,然后在用户程序中进行 JOIN。 +可以将原来的连接分解成多个单表连接查询,然后在用户程序中进行连接。 ### 3. ID 唯一性 -- 使用全局唯一 ID:GUID +- 使用全局唯一 ID(GUID) - 为每个分片指定一个 ID 范围 - 分布式 ID 生成器 (如 Twitter 的 Snowflake 算法) diff --git a/notes/剑指 offer 题解.md b/notes/剑指 offer 题解.md index af4c1842..9d3ada1a 100644 --- a/notes/剑指 offer 题解.md +++ b/notes/剑指 offer 题解.md @@ -1578,7 +1578,7 @@ private boolean verify(int[] sequence, int first, int last) { int cutIndex = first; while (cutIndex < last && sequence[cutIndex] <= rootVal) cutIndex++; - for (int i = cutIndex + 1; i < last; i++) + for (int i = cutIndex; i < last; i++) if (sequence[i] < rootVal) return false; return verify(sequence, first, cutIndex - 1) && verify(sequence, cutIndex, last - 1);