1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update MySQL.md

This commit is contained in:
guide 2021-02-28 23:33:17 +08:00
parent 49a7eb6871
commit f2e4b601cf

View File

@ -257,7 +257,7 @@ InnoDB 存储引擎在 **分布式事务** 的情况下一般会用到 **SERIALI
经典的数据库拆分方案,主库负责写,从库负责读;
#### 3. 垂直分区
#### 3. 垂直分区(待完善)
**根据数据库里面数据表的相关性进行拆分。** 例如,用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。
@ -267,7 +267,7 @@ InnoDB 存储引擎在 **分布式事务** 的情况下一般会用到 **SERIALI
- **垂直拆分的优点:** 可以使得列数据变小在查询时减少读取的Block数减少I/O次数。此外垂直分区可以简化表的结构易于维护。
- **垂直拆分的缺点:** 主键会出现冗余需要管理冗余列并会引起Join操作可以通过在应用层进行Join来解决。此外垂直分区会让事务变得更加复杂
#### 4. 水平分区
#### 4. 水平分区(待完善)
**保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。**