如果您使用
配置选项启用不同的文件格式innodb_file_format
,则更改仅适用于新创建的表。此外,当您创建一个新表时,包含该表的表空间被标记为支持该表的功能所需的“最早”或
“最简单”的文件格式。例如,如果您启用
Barracuda
文件格式,并创建一个不使用动态或压缩行格式的新表,则包含该表的新表空间将被标记为使用
Antelope
文件格式。
很容易识别给定表使用的文件格式。Antelope
如果报告的行格式SHOW TABLE STATUS
是
Compact
或,则该表使用文件格式Redundant
。Barracuda
如果报告的行格式SHOW TABLE STATUS
是
Compressed
或,则该表使用文件格式Dynamic
。
mysql> SHOW TABLE STATUS\G
*************************** 1. row ***************************
Name: t1
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 16384
Data_free: 0
Auto_increment: 1
Create_time: 2014-11-03 13:32:10
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
您还可以使用表来识别给定表或表空间使用的文件格式InnoDB
INFORMATION_SCHEMA
。例如:
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME='test/t1'\G
*************************** 1. row ***************************
TABLE_ID: 44
NAME: test/t1
FLAG: 1
N_COLS: 6
SPACE: 30
FILE_FORMAT: Antelope
ROW_FORMAT: Compact
ZIP_PAGE_SIZE: 0
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME='test/t1'\G
*************************** 1. row ***************************
SPACE: 30
NAME: test/t1
FLAG: 0
FILE_FORMAT: Antelope
ROW_FORMAT: Compact or Redundant
PAGE_SIZE: 16384
ZIP_PAGE_SIZE: 0