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:工具类

MySQL 源码系列:1:窥探篇的更多相关文章

  1. 手牵手,从零学习Vue源码 系列一(前言-目录篇)

    系列文章: 手牵手,从零学习Vue源码 系列一(前言-目录篇) 手牵手,从零学习Vue源码 系列二(变化侦测篇) 手牵手,从零学习Vue源码 系列三(虚拟DOM篇) 陆续更新中... 预计八月中旬更新 ...

  2. 手牵手,从零学习Vue源码 系列二(变化侦测篇)

    系列文章: 手牵手,从零学习Vue源码 系列一(前言-目录篇) 手牵手,从零学习Vue源码 系列二(变化侦测篇) 陆续更新中... 预计八月中旬更新完毕. 1 概述 Vue最大的特点之一就是数据驱动视 ...

  3. Dubbo3 源码系列 Dubbo“纠葛”(入门篇)

    日期 更新说明 2022年5月28日 spring xml部分解读 2022年6月3日 spring annotation部分解读 人生不相见, 动如参与商. 今夕复何夕, 共此灯烛光. 少壮能几时, ...

  4. 深入MySQL源码 学习方法 何登成专家

    MYSQL 技术圈 有哪些做得好,又注重分享的公司: Oracle MySQL, MariaDB, Percona,Google, FB, Twitter, Taobao, NetEase… 有哪些值 ...

  5. 【转】Ubuntu编译安装mysql源码

    主要参考了下面两篇文章 http://forum.ubuntu.org.cn/viewtopic.php?t=330121 http://www.linuxidc.com/Linux/2011-09/ ...

  6. Mysql 源码编译教程贴

    题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢! 如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴 环 ...

  7. Ioc容器BeanPostProcessor-Spring 源码系列(3)

    Ioc容器BeanPostProcessor-Spring 源码系列(3) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Io ...

  8. AOP执行增强-Spring 源码系列(5)

    AOP增强实现-Spring 源码系列(5) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Ioc容器BeanPostProc ...

  9. 【MySQL源码】源码安装和启动mysql

    --[MySQL源码]源码安装和启动mysql --------------------------------------2014/08/19 本机环境:ubuntu12.04,fedora-17 ...

随机推荐

  1. Unity Shader-渲染队列,ZTest,ZWrite,Early-Z

    在渲染阶段,引擎所做的工作是把所有场景中的对象按照一定的策略(顺序)进行渲染.最早的是画家算法,顾名思义,就是像画家画画一样,先画后面的物体,如果前面还有物体,那么就用前面的物体把物体覆盖掉,不过这种 ...

  2. 让手机连接到指定的WIFI网络,适用于之前已经连过的网络

    这个例子是从网上找的,我给重新优化了下.这里有个问题是只能连接到之前已经连接过的wifi,目前还没找到连接到陌生wifi(有/无密码)的方法.总之慢慢来吧~ 说下思路: 1.通过wifiManager ...

  3. [国际A类会议] 2018最最最顶级的人工智能国际峰会汇总!CCF推荐!

    copy from :  http://www.sohu.com/a/201860341_99975651 如果今年的辉煌我们没有赶上,那么我们可以提前为明年的大会做准备.现在,AI脑力波小编就为大家 ...

  4. SVN OPS发布总结

    提示 不需要手动将branch合并到trunk, 我们自己没有这个权限, 合并的操作是在beta版本发布完成以后, 使用这个btag来发布ops 问题 1. 由于trunk版本长时间没有发不过ops版 ...

  5. 为什么你作为一个.NET的程序员工资那么低?(转)

    最近看到很多抱怨贴,也许有一定的道理,但是你想过没,为什么大部分.NET程序员工资相对低?我个人是这么看的: 大批半罐子水的程序员,永远被局限在.NET的原始的小圈圈里.前端不会(你放弃了一项很重要的 ...

  6. WiFi十五岁了:感谢它能让我们在厕所上网

    无线俨然成为当下移动用户不可或缺的重要伴侣,在无线覆盖的区域意味着能够获取各种资讯或同好友进行即时通讯.无线带来了前所未有的技术变革,也颠覆了生活习惯,让用户可以访问Netflix或者在厕所浏览网页. ...

  7. 65. XPages自定义控件(三)高级搜索之三

    RecordView控件的两个文件的完整代码在本文末尾给出.虽说完整,仅靠这两个文件,RecordView控件还不能正常工作,因为在这两个文件里还引用了其他自定义控件,调用了作为managed bea ...

  8. 从数据库中取 datetime类型,界面展示 yyyy-MM-dd

    //处理提问时间,去掉时分秒 if(array!=null && array.size()>0){ for(int i=0;i<array.size();i++){ JSO ...

  9. HTML/CSS-返回到上一页

    <a class="back_btn" href="javascript:window.history.go(-1)">< 返回</a& ...

  10. js闭包的使用

    js闭包的使用 学习了:https://www.cnblogs.com/ZinCode/p/5551907.html 终于用上了闭包,还是有些生涩:好像柿子还没熟: function createLi ...