http://blog.chinaunix.net/uid/26896862/cid-156733-list-1.html http://www.it168.com/redian/wangheng/…
MySQL源码中自己定义了许多数据结构,放在mysys的目录下,源码中通常都使用这些数据结构来组织存放数据,也更容易实现跨平台.   下面先来看下MySQL定义的动态数组: [源代码include/array.h  mysys/array.c] typedef struct st_dynamic_array { uchar *buffer; ulong elements, max_element; ulong alloc_increment; uint size_of_element; } DY…
http://www.orczhou.com/index.php/2012/11/mysql-source-code-data-structure-about-index/ 本文将尝试介绍MySQL索引存储相关的数据结构.程序=数据结构+算法,了解数据结构,然后就可以进一步了解MySQL源码中如何使用索引,如何选择自己的执行计划. 目录 [hide] 1. MySQL如何描述某个数据表的索引 2. GDB打印观察索引信息 2.1 打印索引基本信息 2.2 打印索引某一列的基本信息 2.3 打印索…
MySQL源码自定义了hash表,因为hash表具有O(1)的查询效率,所以,源码中大量使用了hash结构.下面就来看下hash表的定义: [源代码文件include/hash.h mysys/hash.c] typedef uint my_hash_value_type; typedef uchar *(*my_hash_get_key)(const uchar *,size_t*,my_bool); typedef void (*my_hash_free_key)(void *); type…
原文地址:MySQL源码分析以及目录结构作者:jacky民工 主要模块及数据流经过多年的发展,mysql的主要模块已经稳定,基本不会有大的修改.本文将对MySQL的整体架构及重要目录进行讲述. 源码结构(MySQL-5.5.0-m2) BUILD: 内含在各个平台.各种编译器下进行编译的脚本.如compile-pentium-debug表示在pentium架构上进行编译的脚本. Client: 客户端工具,如mysql, mysqladmin之类. Cmd-line-utils: readlin…
原文地址:MySQL源码分析以及目录结构作者:jacky民工 主要模块及数据流经过多年的发展,mysql的主要模块已经稳定,基本不会有大的修改.本文将对MySQL的整体架构及重要目录进行讲述. 源码结构(MySQL-5.5.0-m2) BUILD: 内含在各个平台.各种编译器下进行编译的脚本.如compile-pentium-debug表示在pentium架构上进行编译的脚本. Client: 客户端工具,如mysql, mysqladmin之类. Cmd-line-utils: readlin…
要研究mysql,最好的资源莫过于源码了,所以本人打算通过调试源码的方式来深入理解mysql的点点滴滴.搭建mysql调试环境很简单,从官方下载mysql源码,利用cmake工具生成工程即可.为了方便调试,也因为vs调试的直观性,我的源码工程是在windows平台下面的,下面进入正题. 在vs环境下,选择mysqld工程,直接启动调试运行,此时我并没有指定任何配置文件,但程序依然正常运行,那么程序应该会使用默认的配置文件.首先需要确定两个问题,程序在哪些个目录下去寻找配置文件,以什么样的顺序来查…
一直想分析下mysql的源码,开始的时候不知道从哪下手,先从csv的文件存储开始吧,这个还是比较简单的.我是用的是mysql5.7.16版本的源码. csv源码文件在mysql源码的mysql-5.7.16\storage\csv文件夹下,这里面除了一个make文件,剩下的四个文件就是csv的存储读取代码. transparent_file.h/cc文件比较简单,只定义了一个Transparent_file类,目的是从指定的文件中读取数据到缓存中. class Transparent_file…
MYSQL 技术圈 有哪些做得好,又注重分享的公司: Oracle MySQL, MariaDB, Percona,Google, FB, Twitter, Taobao, NetEase… 有哪些值得关注的个人: Mark Callaghan. Jeremy Cole. Dimitri. Peter ,Zaitsev. Yoshinori Matsunobu … 微博上有哪些值得关注的账号: @姜承尧. @淘宝丁奇. @plinux. @那海蓝蓝 … 业界有哪些好的会议: Percona Li…
 http://blog.itpub.net/29254281/viewspace-1847415/ 其中吕海波老师分享的内容是 <调试Oracle二三例:调试技术在日常运维中的应用>其中有关于调试MySQL源码的内容. 实验如下:下载MySQL 5.7的源码http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.9.tar.gz 编译,注意增加 DEBUG 选项.(cmake的版本要求在2.8.2以上)cmake \-DCMAKE_INSTAL…