没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Mysql InnoDB 存储引擎详解
介绍省了……………….
2.2 InnoDB 体系架构
体系架构
通过第 章我们了解了 的体系结构,现在可能你想更深入地了解 的架构模型。图 简单显
示了 的存储引擎的体系架构。 有多个内存块,你可以认为这些内存块组成了一个大的内存
池,负责如下工作:
维护所有进程线程需要访问的多个内部数据结构。
缓存磁盘上的数据,方便快速地读取,并且在对磁盘文件的数据进行修改之前在这里缓存。
重做日志()缓冲。
图 体系结构
后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据。此外,将已修改
的数据文件刷新到磁盘文件,同时保证在数据库发生异常情况下 能恢复到正常运行状态。
后台线程
由于 是多进程的架构( 下除外),因此可以通过一些很简单的命令来得知 当前运行
的后台进程,如 命令。一般来说, 的核心后台进程有
!"#$、、%&、'&!、#(、( 等。
很多 ' 问我, 存储引擎是否也是这样的架构,只不过是多线程版本的实现后,我决定去看
的源代码,发现 并不是这样对数据库进程进行操作的。 存储引擎是在一个被称做 )*
*+ 的线程上几乎实现了所有的功能。
默认情况下, 存储引擎的后台线程有 , 个—- 个 *+, 个 )**+, 个锁(.)
监控线程, 个错误监控线程。*+ 的数量由配置文件中的 /0100*+ 参数控制,默认
为 -,如下所示。
)2+/**34%5
666666666666666666666666666666666666666666666666666666
$ 7
()7
**37
8888888888888888888888888888888888888
99,:7;-79;((($&<$#<$
8888888888888888888888888888888888888
#=3*>)*+*?9
@A
*+9**7*>3*B*/3C*+D
*+**7*>3*B*+D
*+**7*>3*B*+D
*+;**7*>3*B**+D
#)79E*79E
/3>79EF79EF79
#G3+B>D795/3C 79
-?1E?H1*E->
999E9=/*E999*E999>
A(@((($&<$#<$
8888888888888888888888888888
*B999D
可以看到,- 个 线程分别是 */3C*+、*+、*+、**+。在
3I 平台下,*+ 的数量不能进行调整,但是在 平台下可以通过参数
/0100*+ 来增大 *+。#3 版本开始增加了默认 *+ 的数量,默认
的 *+ 和 **+ 分别增大到了 - 个,并且不再使用 /0100*+ 参数,而是分
别使用 /000*+ 和 /0*00*+ 参数,如下所示。
)2+=/.F/0=F4%5
666666666666666666666666666666666666666666666666666666
J/0)7/0=
J379H
*B999D
)2+=/.F/0K0*+F4%5
666666666666666666666666666666666666666666666666666666
J/0)7/000*+
J37-
666666666666666666666666666666666666666666666666666666
J/0)7/0*00*+
J37-
*B999D
)2+/**34%5
666666666666666666666666666666666666666666666666666666
$ 7
()7
**37
8888888888888888888888888888888888888
99,:7??7H((($&<$#<$
8888888888888888888888888888888888888
#=3*>)*+*;H
@A
*+9**7*>3*B*/3C*+D
*+**7*>3*B*+D
*+**7*>3*B*+D
*+;**7*>3*B*+D
*+-**7*>3*B*+D
*+?**7*>3*B*+D
*+H**7*>3*B**+D
*+,**7*>3*B**+D
*+L**7*>3*B**+D
*+:**7*>3*B**+D
#)79E*79E
/3>79EF79EF79
#G3+B>D795/3C 79
;:L?H1E,L;9:-,1*EH9:9>
E9=/*E999*E999>
A(@((($&<$#<$
8888888888888888888888888888
*B99D
在 下,我们还可以通过 J3*3 来调试 ,并设置断点来观察所有的线程信息,如图
所示。
图 下 存储引擎的线程
内存
存储引擎内存由以下几个部分组成:缓冲池(/3C )、重做日志缓冲池(/3C)
以及额外的内存池(*)) ),分别由配置文件中的参数 /0/3C0 0M 和
/00/3C0M 的大小决定。以下显示了一台 数据库服务器,它将 存储引擎的缓
冲池、重做日志缓冲池以及额外的内存池分别设置为 ?%、L 和 L(分别以字节显示)。
)2+=/.F/0/3C0 0MF4%5
666666666666666666666666666666666666666666666666666666
J/0)7/0/3C0 0M
J37H--9999
*B999D
)2+=/.F/00/3C0MF4%5
666666666666666666666666666666666666666666666666666666
J/0)7/00/3C0M
J37L;LLH9L
*B999D
)2+=/.F/0*0))0 0MF4%5
666666666666666666666666666666666666666666666666666666
J/0)7/0*0))0 0M
J37L;LLH9L
*B999D
缓冲池是占最大块内存的部分,用来存放各种数据的缓存。因为 的存储引擎的工作方式总是将数据库
剩余16页未读,继续阅读
资源评论
luib88
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- FeiQ.rar 局域网内通信服务软件
- 172.16.100.195
- 光储并网simulink仿真模型,直流微电网 光伏系统采用扰动观察法是实现mppt控制,储能可由单独蓄电池构成,也可由蓄电池和超级电容构成的混合储能系统,并采用lpf进行功率分配 并网采用pq控制
- python编写微信读取smart200plc的数据发送给微信联系人
- 光储并网VSG系统Matlab simulink仿真模型,附参考文献 系统前级直流部分包括光伏阵列、变器、储能系统和双向dcdc变器,后级交流子系统包括逆变器LC滤波器,交流负载 光储并网VSG系
- file_241223_024438_84523.pdf
- 质子交膜燃料电池PEMFC Matlab simulink滑模控制模型,过氧比控制,温度控制,阴,阳极气压控制
- IMG20241223015444.jpg
- 模块化多电平变器(MMC),本模型为三相MMC整流器 控制策略:双闭环控制、桥臂电压均衡控制、模块电压均衡控制、环流抑制控制策略、载波移相调制,可供参考学习使用,默认发2020b版本及以上
- Delphi 12 控件之FlashAV FFMPEG VCL Player For Delphi v7.0 for D10-D11 Full Source.7z
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功