MySQL(InnoDB剖析):18---table之(Named File Formats机制)

一、Named File Formats机制概述

  • 随着InnoDB存储引擎的发展,新的页数据结构有时用来支持新的功能特性。比如前面提到的InnoDB 1.0.x版本开始提供了新的页数据结构来支持表压缩功能,完全的溢出(Off page)大变长字符类型字段的存储
  • 这些新的页数据结构和之前版本的页并不兼容,因此从InnoDB 1.0.x版本开始,InnoDB通过Named File Formats机制来解决不同版本下页结构兼容性的问题

二、文件格式分类

  • InnoDB存储引擎将1.0.x版本之前的文件格式定义为Antelope,将这个版本支持的文件格式定义为Barracuda新的文件格式总是包含于之前的版本的页格式
  • 下图显示了Barracuda文件格式和Antelope文件格式之间的关系:
    • Antelope文件格式:有Compact和Redundant的行格式
    • Barracuda文件格式:既包括了Antelope所有的文件格式,还新加入了前面提到过的Compressed和Dynamic行格式

  • InnoDB Plugin的官方手册提到了,未来版本的InnoDB存储引擎还将引入新的文件格式,此文件格式的名称取自动物的名字,并按照字母排序进行命名。翻阅源代码,可以发现目前已经定义好的文件格式有:

三、innodb_file_format参数

  • 参数innodb_file_format用来指定文件格式
  • 可以通过下面的方式来查看当前所使用的InnoDB存储引擎的文件格式
select @@version\G;

shjow variables like 'innodb_version'\G;

show variables like 'innodb_file_format'\G;

四、innodb_file_format_check参数

  • 该参数用来检测当前InnoDB存储引擎文件格式的支持度,默认为ON
show variables like 'innodb_file_format_check';

  • 如果出现不支持的文件格式,用户肯能在错误日志文件中看到类似如下的错误:

发布了1399 篇原创文章 · 获赞 958 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/qq_41453285/article/details/104142160
今日推荐