安装方式分为rpm和源码编译安装两种,本文是采用mysql源码编译方式,编译器使用Cmake。软件需要mysql-5.5.29.tar.gz和cmake-2.8.10.2.tar.gz,请自行下载。下载地址:http://mysql.mirror.kangaroot.net/Downloads/ht...
分类:
数据库 时间:
2014-07-09 15:43:07
阅读次数:
259
完成了sql的解析过程后,开始进入优化器:调用的流程分为: mysql_select:
JOIN::prepare: JOIN::optimize: JOIN::exec: prepare过程: 组装各个组件,包括:stepup tables,
fields, con...
分类:
数据库 时间:
2014-06-29 12:59:43
阅读次数:
269
MySQLMySQL是一款优秀的开源数据库,在阿里、网易等各个互联网公司中有着广泛的应用。尽管各种NoSQL大行其道,但是关系型数据库依然必不可少。作为一个新手,在Win7下用源码安装MySql数据库并不容易。我自己都折腾了好几天。今天把安装过程记录下来,其一是为了方便自己以后学..
分类:
数据库 时间:
2014-06-24 16:47:07
阅读次数:
459
上一篇介绍了MySQL源码中保护内存结构或变量的锁,这里开始介绍下MySQL事务中的表锁。注1: 在表锁的实现上面,使用【mutex+condition+queue】的结构实现并发,阻塞,唤醒的表锁功能。注2: 本文进行的一些实验,重要的配置项:1. autocommit=02. tx_isol.....
分类:
数据库 时间:
2014-06-15 09:36:39
阅读次数:
250
Programs for handling SQL commands. The "core" of
MySQL.These are the.cand.ccfiles in thesqldirectory:derror.cc --- read
language-dependent message fi...
分类:
数据库 时间:
2014-06-05 17:38:07
阅读次数:
362
sql请求发送到server端,需要经过解析器生成内部的数据结构对象,以方便进行优化和生成执行计划。解析器主要做了两件事情,词法分析和语法分析。词法和语法分析:mysql使用lex词法分析器,yacc语法分析器进行分析,最后保存到lex对象结构中。例如:
select id, name fr...
分类:
数据库 时间:
2014-05-16 02:57:33
阅读次数:
634
一、准备工作1、下载源码安装包,http://dev.mysql.com/downloads/mysql/
(我用的是mysql-5.6.16)2、本人是ubuntu上安装的,需要几个依赖的程序:cmake、g++、libncurses5-dev二、开始安装1、创建好用户和目录groupadd...
分类:
数据库 时间:
2014-05-14 10:11:21
阅读次数:
456
MySQL源码自定义了hash表,因为hash表具有O(1)的查询效率,所以,源码中大量使用了hash结构。下面就来看下hash表的定义:【源代码文件include/hash.h
mysys/hash.c】typedef uint my_hash_value_type;typedef uchar *...
分类:
数据库 时间:
2014-05-09 10:50:26
阅读次数:
485
MySQL源码中自己定义了许多数据结构,放在mysys的目录下,源码中通常都使用这些数据结构来组织存放数据,也更容易实现跨平台。下面先来看下MySQL定义的动态数组:【源代码include/array.h
mysys/array.c】typedef struct st_dynamic_array{ ...
分类:
数据库 时间:
2014-05-08 18:10:32
阅读次数:
392
information_schema是MySQL下的DB,
存储了数据库的数据字典,但OS系统上,并没有information_schema下表的数据和结构文件。所以,MySQL在针对information_schema下的表进行查询的时候,在内存中构造了memory引擎的临时表,把数据填充进去.....
分类:
数据库 时间:
2014-05-07 20:42:37
阅读次数:
435