Innodb页面存储结构-2

Innodb页面存储结构-2
上一篇《Innodb页面存储结构-1》介绍了Innodb页面存储的总体结构,本文会介绍页面的详细内容,主要包括页头、页尾和记录的详细格式。 学习数据结构时都说程序等于数据结构+算法,而在innodb中,其页面结构和记录格式可以说就是其数据结构。并且理解这些结构后,对innodb的页面行为(算法)的理解也有很大帮助。 1. 表空间 介绍页面具体结构之前,先介绍一些Innodb表空间的概念。 表空间,数据文件的集合,...

Innodb页面存储结构-1

Innodb页面存储结构-1
本文介绍Innodb的索引数据页面存储结构,主要介绍数据页面的整体结构,而页面的详细结构将会在另一篇中介绍。 1. B+树 阅读本文前,首先要知道一些关于B树的基础知识。Innodb的一个表可能包含多个索引,每个索引都使用B+树来存储。而索引包括聚集索引和二级索引,聚集索引使用表的主键作为索引键,包含表的所有字段。二级索引只包含索引键和聚集索引键(主键)的内容,不包括其他字段。每一个索引都是一...

Perl获取system返回值的问题

Perl获取system返回值的问题
需求是这样的: my $cmd=q{mysqldump xxxx | gzip -c >> yyy.gz}; my $ret=system($cmd); 1.  我们希望判断system是否成功; 2.  我们希望通过检查进程exit code,判断system执行$cmd命令具体的出错情况; my $cmd = q{mysqldump xxxx | gzip -c >> yyy.gz}; my $ret = system($cmd) if ($ret != 0) {     # 很遗憾,事实上我们得到的返回值$ret一直...

修改cmake脚本实现组件打包

修改cmake脚本实现组件打包
在TMySQL1.3中,要把增加的外部库libtcmalloc_minimal.so包含在使用make package打的tar包里面。TMySQL1.3是使用cmake脚本作为源码的编译方式,这样可以统一所有平台的编译(window、unix、solaris等)。因此,增加对外部库的打包,就是通过修改cmake文件来完成。 本处只是让一个外部组件包含在在make package的打包结果中,故只须专注相关部分就可以。 要最快的实现组件打包,那么只用找到现在的...

MySQL client模块源码逻辑

MySQL client模块源码逻辑
MySQL的client是与server进行交互的模块,下面从源码的角度对client的处理逻辑进行讨论。 client的入口是client/mysql.cc中的main函数。主要有如下函数: MY_INIT(),初始化一些系统函数、资源及变量,比如线程、临界区及tcp/ip等; Isatty(),判定输入输出是文件还是console; load_defaults(),从配置文件读取配置参数; get_options(),读取mysql 选项参数; batch_readl...
Copyright © 腾讯游戏DBA团队 保留所有权利.  

用户登录

分享到: