Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/d-1-mysql.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ select sql_no_cache count(*) from usr;

------

| 隔离级别 | 脏读 | 不可重复读 | 幻影读 |
| 隔离级别 | 脏读 | 不可重复读 | 幻读 |
| :--------------: | :--: | :--------: | :----: |
| READ-UNCOMMITTED | √ | √ | √ |
| READ-COMMITTED | × | √ | √ |
Expand Down Expand Up @@ -248,7 +248,7 @@ InnoDB 存储引擎在 **分布式事务** 的情况下一般会用到 **SERIALI

经典的数据库拆分方案,主库负责写,从库负责读;

#### 垂直分区
#### 垂直拆分

**根据数据库里面数据表的相关性进行拆分。** 例如,用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。

Expand All @@ -258,7 +258,7 @@ InnoDB 存储引擎在 **分布式事务** 的情况下一般会用到 **SERIALI
- **垂直拆分的优点:** 可以使得列数据变小,在查询时减少读取的Block数,减少I/O次数。此外,垂直分区可以简化表的结构,易于维护。
- **垂直拆分的缺点:** 主键会出现冗余,需要管理冗余列,并会引起Join操作,可以通过在应用层进行Join来解决。此外,垂直分区会让事务变得更加复杂;

#### 水平分区
#### 水平拆分

**保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。**

Expand Down