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. redis + Tomcat 8 的session共享解决

    如果英文不错的看,建议直接看官网吧,官网写的挺清楚.下面的内容是转载的一篇文章,自己补充了一些,供大家参考,也欢迎大家一起讨论 官方截止到2015-10-12前是不支持Tomcat8的,详情见官网:h ...

  2. insert into select 多个表

    INSERT INTO user_auth(userid, auth_plane_id) select user.user_id AS userid, plane.id AS auth_plane_i ...

  3. 在websocket中怎么样注入service类

    最近项目中用到了websocket,遇到很多问题,其中一个是@ServerEndpoint修饰的类无法注入其他的bean,注入的对象都是null,在网上找了好多资料,无意中发现一个朋友的答案给了思路. ...

  4. JQuery攻略(一) 基础知识——选择器 与 DOM

    JQuery是功能丰富的Javascript库,可以帮助用户毫不费力地把动态功能应用到网页. JQuery具有许多强大的功能,包括访问部分网页,快速修改网页内容,添加动画,应用AJAX技术等等. 正因 ...

  5. 详细解读Volley(一)—— 基本Request对象 & RequestQueue

    Volley它非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕.所以不建议用它去进行下载文件.加载大图的操作.有人可能会问,如 ...

  6. Chrome浏览器导出pdf时,隐藏链接HREF

    在使用chrome打印pdf是,会出现链接的HREF也同时打印的情况,只要加一句CSS即可 @media print {   a[href]:after {     content: none !im ...

  7. 连接MSSQL2008 Express

    (1)打开Manage Studio. (2)click on the  .\sqlexpress, select property, click security, make sure use mi ...

  8. [转载][HASS.IO] 【HASSOS安装】成功安装HASSOS 1.9(避开了大部分坑版)

    7月20日HA官方放出HASSOS说明时,我开始入坑HASSOS,经历了安装没流量.打开主页:8123没显示.HASS.IO边栏不显示.安装不了HASS.IO插件等问题之后,在8月6日总算避开了大坑进 ...

  9. FileStream 的FileShare一点小认识

    C#读写文本文件一般都是用StreamWriter来实现(读书的时候就这样用,毕业后这几年基本也是这样干的),通常代码如下: using (StreamWriter sw = new StreamWr ...

  10. 如何给USB移动硬盘格式化分区

    硬盘盒装好后,插在电脑USB接口上,电脑正常识别到移动硬盘后,但因为全新硬盘没有分区,在"我的电脑"里是看不到盘符的.下面以40G移动硬盘分区讲一下硬盘如何分区.1.操作系统最好是 ...