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 小结
省略.....