InnoDB存储引擎 (第10章 源代码的编译和调试)

10.1  获取InnoDB存储引擎源代码

https://dev.mysql.com/downloads/mysql/

下面是所有的存储引擎

10.2  InnoDB源代码结构

btr:B+树的实现。

buf:缓冲池的实现,包括LRU算法,Flush刷新算法等。

dict:InnoDB存储引擎中内存数据字典的实现。

dyn:InnoDB存储引擎中动态数组的实现。

fil:InnoDB存储引擎中文件数据结构以及对文件的一些操作。

fsp:可以理解为file space,即对InnoDB存储引擎物理文件的管理,如页、区、段等。

ha:哈希算法的实现。

handler:继承于MySQL的handler,插件式存储引擎的实现。

ibuf:插入缓冲的实现。

include:InnoDB将头文件(.h,.ic)文件都统一放在这个文件夹下。

lock:InnoDB存储引擎锁的实现,如S锁、X锁,以及定义锁的一系列算法。

log:日志缓冲和重组日志文件的实现。对重组日志感兴趣的应该好好阅读该源代码。

mem:辅助缓冲池的实现,用来申请一些数据结构的内存。

mtr:事务的底层实现。

os:封装一些对于操作系统的操作。

page:页的实现。

row:对于各种类型行数据的操作。

srv:对于InnoDB存储引擎参数的设计。

sync:InnoDB存储引擎互斥量(Mutex)的实现。

thr:InnoDB储存引擎封装的可移植的线程库。

trx:事务的实现。

ut:工具类。

10.3  MySQL 5.1版本编译和调试InnoDB源代码

10.3.1 Windows下的调试

10.3.2 Linux下的调试

10.4  cmake方式编译和调试InnoDB存储引擎

10.5  小结

省略.....

posted @ 2020-10-12 09:42  将军上座  阅读(499)  评论(0编辑  收藏  举报