auto commit

This commit is contained in:
CyC2018 2018-09-03 10:36:55 +08:00
parent 39965a71db
commit 9e3ae3e8e6
2 changed files with 6 additions and 6 deletions

View File

@ -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 唯一性
- 使用全局唯一 IDGUID
- 使用全局唯一 IDGUID
- 为每个分片指定一个 ID 范围
- 分布式 ID 生成器 (如 Twitter 的 Snowflake 算法)

View File

@ -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);