14.10.3 识别正在使用的文件格式
如果使用innodb_file_format配置选项启用其他file format,则更改仅适用于新创建的 table。同样,当您创建一个新 table 时,包含该 table 的 table 空间将被标记为支持 table 功能所需的“最早”或“最简单”文件格式。例如,如果启用Barracuda
文件格式,并创建不使用动态或压缩行格式的新 table,则包含该 table 的新 table 空间将被标记为使用Antelope
文件格式。
识别给定 table 使用的文件格式很容易。如果SHOW TABLE STATUS
报告的行格式是Compact
或Redundant
,则 table 使用Antelope
文件格式。如果SHOW TABLE STATUS
报告的行格式是Compressed
或Dynamic
,则 table 使用Barracuda
文件格式。
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
个 table 来标识给定 table 或 table 空间使用的文件格式。例如:
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