1:下载源码
http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
http://dev.mysql.com/downloads/mysql/
2:解压后的根目录结构
3:InnoDB存储引擎的目录结构:
mysql-5.6.25\storage\innobase
4:目录简介
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)的实现
trx:事物的实现
ut:工具类