Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wushizhenking
CS-Notes
提交
c08f9434
C
CS-Notes
项目概览
wushizhenking
/
CS-Notes
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
CS-Notes
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c08f9434
编写于
4月 24, 2019
作者:
C
CyC2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
auto commit
上级
0024b4b6
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
7 addition
and
7 deletion
+7
-7
docs/notes/MySQL.md
docs/notes/MySQL.md
+7
-7
docs/pics/33576849-9275-47bb-ada7-8ded5f5e7c73.png
docs/pics/33576849-9275-47bb-ada7-8ded5f5e7c73.png
+0
-0
docs/pics/45016e98-6879-4709-8569-262b2d6d60b9.png
docs/pics/45016e98-6879-4709-8569-262b2d6d60b9.png
+0
-0
docs/pics/7c349b91-050b-4d72-a7f8-ec86320307ea.png
docs/pics/7c349b91-050b-4d72-a7f8-ec86320307ea.png
+0
-0
未找到文件。
docs/notes/MySQL.md
浏览文件 @
c08f9434
...
...
@@ -42,7 +42,7 @@ B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具
在 B+ Tree 中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右相邻 key 分别是 key
<sub>
i
</sub>
和 key
<sub>
i+1
</sub>
,且不为 null,则该指针指向节点的所有 key 大于等于 key
<sub>
i
</sub>
且小于等于 key
<sub>
i+1
</sub>
。
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/
10a6d3ee-04b2-46b4-b171-d596e5ab0f84.jpg"
/
>
</div><br>
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/
33576849-9275-47bb-ada7-8ded5f5e7c73.png"
width=
"350px"
>
</div><br>
### 2. 操作
...
...
@@ -84,11 +84,11 @@ B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具
InnoDB 的 B+Tree 索引分为主索引和辅助索引。主索引的叶子节点 data 域记录着完整的数据记录,这种索引方式被称为聚簇索引。因为无法把数据行存放在两个不同的地方,所以一个表只能有一个聚簇索引。
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/4
f151e62-6160-47f1-9eff-47b1f4dea4e9.jpg"
/
>
</div><br>
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/4
5016e98-6879-4709-8569-262b2d6d60b9.png"
width=
"350px"
>
</div><br>
辅助索引的叶子节点的 data 域记录着主键的值,因此在使用辅助索引进行查找时,需要先查找到主键值,然后再到主索引中进行查找。
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/
40f29839-fd56-4ed0-9353-39dfe6f0bba5.jpg"
/
>
</div><br>
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/
7c349b91-050b-4d72-a7f8-ec86320307ea.png"
width=
"350px"
>
</div><br>
### 2. 哈希索引
...
...
@@ -350,7 +350,7 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提
当一个表的数据不断增多时,Sharding 是必然的选择,它可以将数据分布到集群的不同节点上,从而缓存单个数据库的压力。
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/63c2909f-0c5f-496f-9fe5-ee9176b31aba.jpg"
/
>
</div><br>
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/63c2909f-0c5f-496f-9fe5-ee9176b31aba.jpg"
width=
""
>
</div><br>
## 垂直切分
...
...
@@ -358,7 +358,7 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提
在数据库的层面使用垂直切分将按数据库中表的密集程度部署到不同的库中,例如将原来的电商数据库垂直切分成商品数据库、用户数据库等。
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/e130e5b8-b19a-4f1e-b860-223040525cf6.jpg"
/
>
</div><br>
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/e130e5b8-b19a-4f1e-b860-223040525cf6.jpg"
width=
""
>
</div><br>
## Sharding 策略
...
...
@@ -392,7 +392,7 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提
-
**I/O 线程**
:负责从主服务器上读取二进制日志,并写入从服务器的中继日志(Relay log)。
-
**SQL 线程**
:负责读取中继日志,解析出主服务器已经执行的数据更改并在从服务器中执行。
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/master-slave.png"
/
>
</div><br>
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/master-slave.png"
width=
""
>
</div><br>
## 读写分离
...
...
@@ -406,7 +406,7 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提
读写分离常用代理方式来实现,代理服务器接收应用层传来的读写请求,然后决定转发到哪个服务器。
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/master-slave-proxy.png"
/
>
</div><br>
<div
align=
"center"
>
<img
src=
"https://gitee.com/CyC2018/CS-Notes/raw/master/docs/pics/master-slave-proxy.png"
width=
""
>
</div><br>
# 参考资料
...
...
docs/pics/33576849-9275-47bb-ada7-8ded5f5e7c73.png
0 → 100644
浏览文件 @
c08f9434
16.0 KB
docs/pics/45016e98-6879-4709-8569-262b2d6d60b9.png
0 → 100644
浏览文件 @
c08f9434
17.0 KB
docs/pics/7c349b91-050b-4d72-a7f8-ec86320307ea.png
0 → 100644
浏览文件 @
c08f9434
15.0 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录