Innodb文件格式及压缩配置
Innodb文件格式代表了数据库文件在磁盘上的组织形式。
Tablespace包含了很多文件或raw disk partition。
当innodb_file_per_table = on时,每个数据库会使用单独的ibd文件存储数据,否则将和系统表等数据一起放在innodb_data_file_path指定的文件中。
在系统表空间中,innodb会维护一些系统信息:
Internal data dictionary
Undo
Insert buffer
Double write buffer
Mysql replication info
表空间有多个层次,其中最小的单位是page,在未压缩时每个page是16k;64个page组成一个extent;多个extent和page构成一个segment。
在Innodb中,page有很多中格式,如下图所示:
存放若干条记录的page的格式如下图所示,由page header,page trailer,page body组成。
在Innodb中可以指定文件格式,它们会是Antelope, Barracuda, Cheetah, Dragon, Elk, Fox等等,按照字母顺序继续排列。
Antelope是Built-in-InnoDB(MySQL内置的InnoDB)支持文件格式的代号,有两种“数据表格式”(row_format):Redundant、Compact;Barracuda是InnoDB Plugin支持的文件格式,在原来的基础上新增了两种数据表格式的支持:Dynamic和Compressed。
一般,innodb_file_format在配置文件中指定;row_format则在创建数据表时指定。
启用压缩格式的条件
a).Innodb_file_per_table = 1
b).Innodb_file_format = barracuda
CREATE TABLE name (column1 INT PRIMARY KEY) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
这条语句将会创建一个压缩的page size=8K的表。
- 大小: 73.5 KB
- 大小: 77.6 KB
- 大小: 89.4 KB
- 大小: 32 KB
分享到:
相关推荐
### Innodb存储引擎浅析—事务系统 #### 学述 在MySQL的众多存储引擎中,InnoDB无疑是最为重要且被广泛使用的之一。本文旨在深入解析InnoDB存储引擎中的事务处理机制及其背后的设计原理。 #### 存储引擎介绍 在...
MySQL源码包是一款开源的关系型数据库管理系统,广泛应用于各种规模的企业和项目中,以其高效、稳定和易用性而著称。源码包是MySQL的原始编程代码,允许用户自行编译和定制以适应特定环境或需求。在这个场景中,我们...
2. **获取源码**:下载 MySQL 5.6.14 的源码包,这通常是一个 `.tar.gz` 文件,解压缩后得到源代码目录。 3. **编译环境**:安装 `cmake`,它是构建 MySQL 的关键工具。你可以通过 `yum install cmake -y` 使用包...
2. **依赖库**:安装MySQL源码前,需要确保系统已安装了必要的依赖库,如OpenSSL、zlib、ncurses、libaio等。这些库为MySQL提供了加密、压缩、终端交互等功能支持。 3. **配置阶段**:运行`configure`脚本来检查...
源码包`.tar.gz`格式是Linux系统中常见的压缩方式,用于存放MySQL的完整源代码,便于开发者在不同环境中编译和定制安装。在这个场景中,用户特别提到需要在Linux环境下编译安装MySQL 5.7,并且强调了CMake的重要性。...
通过编译MySQL源码,开发者不仅可以深入了解MySQL的内部工作原理,还可以根据实际需求进行定制,提高数据库系统的性能和安全性。这对于数据库管理员、软件开发者以及研究者来说都是一项重要的技能。在VC2008中编译...
9. **日志管理**:了解如何配置和解析MySQL的日志文件,如错误日志、慢查询日志,这对于排查问题和优化性能至关重要。 10. **安全性**:了解MySQL的权限系统和SQL注入防护措施,确保数据库的安全运行。 11. **监控...
编译MySQL源码需要遵循以下步骤: 1. **解压源码**:使用`tar -zxvf mysql-5.6.28.tar.gz`命令解压缩源码包。 2. **配置**:运行`./configure`检查依赖项并生成Makefile。 3. **编译**:执行`make`命令进行编译。 4...
1. **解压源码**:首先解压缩`mysql-8.0.13`文件,进入源码目录。 2. **配置**:运行`./configure`,根据你的系统配置选择合适的选项。 3. **编译**:执行`make`来编译源代码。 4. **安装**:使用`make install`将...
1. **C++编译器**:MySQL的源码安装可能需要GCC或其他C++编译器来编译二进制文件。 2. **开发库**:例如libncurses、libssl、libpthread等,这些都是MySQL运行所必需的。 3. **系统工具**:如make、tar等用于构建和...
1. **获取依赖库**:MySQL源码安装需要一些基础的开发库,例如C++编译器(如GCC)、Make、Perl等,以及特定的库文件,如ncurses、openssl、zlib等。具体依赖可根据系统和安装需求查找。 2. **解压源码**:执行`tar ...
首先,让我们来理解一下`.tar.gz`文件格式。这是在Linux和Unix环境中常见的文件打包和压缩格式。`.tar`是一个用于归档多个文件和目录到一个单一文件的工具,而`.gz`是gzip压缩程序的结果,它能够有效地减小文件大小...
1. **解压源码**:使用`tar -zxvf mysql-5.6.23.tar.gz`命令解压缩文件。 2. **编译前准备**:安装必要的依赖库,如gcc、cmake、ncurses、openssl、zlib等。 3. **配置源码**:运行`./configure --prefix=/usr/...
6. **性能分析工具**:内置了Performance Schema,提供详细的性能监控和分析,帮助管理员诊断性能瓶颈。 7. **安全增强**:加强了认证和授权机制,支持更多的加密协议,提升了系统的安全性。 8. **高可用性**:...
通过分析和研究MySQL Community Server 5.6.25的源码,开发者可以了解其内部操作流程,实现自定义功能,或针对特定应用场景进行优化。同时,这也是学习数据库设计、事务处理、锁机制、查询优化等数据库核心概念的...
首先,`mysql-5.5.22.tar.gz` 是MySQL源码包的压缩格式,`tar` 是一种在Linux和Unix系统中广泛使用的打包工具,它可以将多个文件和目录打包成一个单一的归档文件。而`.gz` 后缀表示这个归档文件使用了gzip压缩算法,...
1. **解压源码**:使用`tar -zxvf mysql-5.7.6-m16.tar.gz`命令解压缩文件。 2. **配置编译**:进入解压后的目录,运行`./configure`命令进行配置,可以根据需求指定安装路径、编译选项等。 3. **编译和安装**:执行...
这种格式是Linux系统中常见的归档方式,它使用tar工具来组合多个文件和目录,并使用gzip压缩算法来减小文件大小,便于存储和传输。 源码编译安装MySQL 5.7.7-rc涉及以下步骤: 1. **解压源码**:首先,你需要在...
源码分析可以帮助我们深入了解其内部工作原理,对于开发者而言尤其有价值。在这个版本中,MySQL 引入了许多性能优化和功能增强,使其成为企业级应用的理想选择。 首先,MySQL 5.5 引入了InnoDB存储引擎的重大改进。...
这里的“mysql-5.5.53.tar.gz”是一个压缩文件,它包含了MySQL服务器的源代码,版本号为5.5.53。这个版本发布于2016年,是MySQL 5.5系列的一个稳定版本,提供了对SQL标准的良好支持,以及高性能和可靠性。 在Linux...