mysql源码分析01代码结构与基本流程

mysql源码分析01代码结构与基本流程

ID:11133310

大小:668.00 KB

页数:26页

时间:2018-07-10

mysql源码分析01代码结构与基本流程_第1页
mysql源码分析01代码结构与基本流程_第2页
mysql源码分析01代码结构与基本流程_第3页
mysql源码分析01代码结构与基本流程_第4页
mysql源码分析01代码结构与基本流程_第5页
资源描述:

《mysql源码分析01代码结构与基本流程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MySQL源码分析——代码结构与基本流程彭立勋AlibabaDBATeamTopicsMySQL基本架构源码目录结构核心类库与函数主要模块数据流MySQL基本架构MySQL目录结构(1)BUILD:内含在各个平台、各种编译器下进行编译的脚本。如compile-pentium-debug表示在pentium架构上进行调试编译的脚本。client:客户端工具,如mysql,mysqladmin之类。cmd-line-utils:readline,libedit工具。config:给aclocal使用的配置文件。dbug:提供

2、一些调试用的宏定义。Docs:MySQL在不同平台下的参考手册extra:提供innochecksum,resolveip等额外的小工具。include:包含的头文件libmysql:库文件,生产libmysqlclient.so。libmysql_r:线程安全的库文件,生成libmysqlclient_r.so。libmysqld:嵌入式MySQLServer库.libservices:5.5.0中新加的目录,实现了打印功能。MySQL目录结构(2)man:适合man命令查看的帮助文件。mysql-test:mysql

3、d的测试工具套件。mysys:为实现跨平台,MySQL自己实现了一套常用的数据结构和算法,如string,hash等。还包含一些底层函数的跨平台封装,一般以my_开头。netware:在netware平台上进行编译时需要的工具和库。plugin:MySQL5.1开始支持一个插件式API接口,不需要重启mysqld即可动态载入插件,FullText就是一个例子。pstack:GNU异步栈追踪工具。regex:正则表达式实现(来自多伦多大学HenrySpencer大牛的源码)。scripts:提供脚本工具,如mysql_in

4、stall_db/mysqld_safe等。server-tools:包含instance_manager子目录,负责实例的本地和远程管理。MySQL目录结构(3)sql:MySQLServer主要代码,将会生成mysqld文件。sql-bench:一些基准测试代码代码,主要是Perl程序(虽然后缀是sh)。sql-common:存放部分服务器端和客户端都会用到的代码,有些地方的同名文件是这里lin过去的。storage:存储引擎所在目录。strings:string库,包含很多字符串处理的函数。support-file

5、s:my.cnf示例配置文件及编译所需的一些工具。tests:测试文件所在目录。unittest:单元测试文件。vio:虚拟io系统,是对networkio的封装,把不同的协议封装成统一的IO函数。win:在windows平台编译所需的文件和一些说明。zlib:zlib算法库(GNU)InnoDB目录结构(1)btr:B+树的实现buf:缓冲池的实现,包括LRU算法,Flush刷新算法等dict:InnoDB内存数据字典的实现dyn:InnoDB动态数组的实现fil:InnoDB文件数据结构以及对于文件的一些操作fsp:

6、对InnoDB物理文件的管理,如页/区/段等(即FileSpace)ha:哈希算法的实现handler:继承与MySQL的handler,实现handlerAPI与Server交互ibuf:插入缓冲(InsertBuffer)的实现include:InnoDB所有头文件都放在这个目录,是查找结构定义的最佳地点lock:InnoDB的锁实现及三种锁算法实现log:日志缓冲(LogBuffer)和重做日志组(RedoLog)的实现InnoDB目录结构(2)mem:辅助缓冲池(AdditionalMemoryPool)的实现,

7、用来申请一些内部数据结构的内存mtr:事务的底层实现(日志,缓冲)os:封装一些对于操作系统的操作page:页的实现,研究InnoDB文件结构,这个目录至关重要pars:重载部分MySQL的SQLParser(有待商榷)que:Querygraph,基本上没啥用read:读取游标的实现rem:行管理操作(比较操作,打印等)row:对于各种类型行数据操作的实现srv:InnoDB后台线程,启动服务,MasterThread,SQL队列等sync:InnoDB互斥变量(Mutex)的实现,基本同步机制thr:InnoDB封装

8、的可移植线程库InnoDB目录结构(3)trx:事务的实现usr:Session管理ut:各种通用小工具核心类库THD:线程类Item:Item类(查询条目,函数,WHERE,ORDER,GROUP,ON子句等)TABLE:表描述符TABEL_LIST:JOIN操作描述符Field:列数据类型及属性定义LEX:语法树

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。