diff --git a/docs/notes/MySQL.md b/docs/notes/MySQL.md index 831c876b..b920b64b 100644 --- a/docs/notes/MySQL.md +++ b/docs/notes/MySQL.md @@ -42,7 +42,7 @@ B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具 在 B+ Tree 中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右相邻 key 分别是 keyi 和 keyi+1,且不为 null,则该指针指向节点的所有 key 大于等于 keyi 且小于等于 keyi+1。 -

+

### 2. 操作 @@ -84,11 +84,11 @@ B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具 InnoDB 的 B+Tree 索引分为主索引和辅助索引。主索引的叶子节点 data 域记录着完整的数据记录,这种索引方式被称为聚簇索引。因为无法把数据行存放在两个不同的地方,所以一个表只能有一个聚簇索引。 -

+

辅助索引的叶子节点的 data 域记录着主键的值,因此在使用辅助索引进行查找时,需要先查找到主键值,然后再到主索引中进行查找。 -

+

### 2. 哈希索引 @@ -350,7 +350,7 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提 当一个表的数据不断增多时,Sharding 是必然的选择,它可以将数据分布到集群的不同节点上,从而缓存单个数据库的压力。 -

+

## 垂直切分 @@ -358,7 +358,7 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提 在数据库的层面使用垂直切分将按数据库中表的密集程度部署到不同的库中,例如将原来的电商数据库垂直切分成商品数据库、用户数据库等。 -

+

## Sharding 策略 @@ -392,7 +392,7 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提 - **I/O 线程** :负责从主服务器上读取二进制日志,并写入从服务器的中继日志(Relay log)。 - **SQL 线程** :负责读取中继日志,解析出主服务器已经执行的数据更改并在从服务器中执行。 -

+

## 读写分离 @@ -406,7 +406,7 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提 读写分离常用代理方式来实现,代理服务器接收应用层传来的读写请求,然后决定转发到哪个服务器。 -

+

# 参考资料 diff --git a/docs/pics/33576849-9275-47bb-ada7-8ded5f5e7c73.png b/docs/pics/33576849-9275-47bb-ada7-8ded5f5e7c73.png new file mode 100644 index 00000000..dedfe754 Binary files /dev/null and b/docs/pics/33576849-9275-47bb-ada7-8ded5f5e7c73.png differ diff --git a/docs/pics/45016e98-6879-4709-8569-262b2d6d60b9.png b/docs/pics/45016e98-6879-4709-8569-262b2d6d60b9.png new file mode 100644 index 00000000..bcf4f9b6 Binary files /dev/null and b/docs/pics/45016e98-6879-4709-8569-262b2d6d60b9.png differ diff --git a/docs/pics/7c349b91-050b-4d72-a7f8-ec86320307ea.png b/docs/pics/7c349b91-050b-4d72-a7f8-ec86320307ea.png new file mode 100644 index 00000000..de3344f3 Binary files /dev/null and b/docs/pics/7c349b91-050b-4d72-a7f8-ec86320307ea.png differ