After you enable a given
innodb_file_format, this
change applies only to newly created tables rather than existing
ones. If you do create a new table, the tablespace containing the
table is tagged with the “earliest” or
“simplest” file format that is required for the
table's features. For example, if you enable file format
Barracuda, and create a new table that is not compressed and does
not use ROW_FORMAT=DYNAMIC, the new tablespace
that contains the table is tagged as using file format Antelope.
It is easy to identify the file format used by a given tablespace
or table. The table uses the Barracuda format if the
Row_format reported by SHOW CREATE
TABLE or INFORMATION_SCHEMA.TABLES is
one of 'Compressed' or
'Dynamic'. (The Row_format
is a separate column; ignore the contents of the
Create_options column, which may contain the
string ROW_FORMAT.) If the table in a
tablespace uses neither of those features, the file uses the
format supported by prior releases of InnoDB, now called file
format Antelope. Then, the Row_format is one of
'Redundant' or 'Compact'.
The file format identifier is written as part of the tablespace
flags (a 32-bit number) in the *.ibd file in
the 4 bytes starting at position 54 of the file, most significant
byte first. (The first byte of the file is byte zero.) On some
systems, you can display these bytes in hexadecimal with the
command od -t x1 -j 54 -N 4
. If all bytes
are zero, the tablespace uses the Antelope file format (which is
the format used by the standard InnoDB storage engine up to
version 5.1). Otherwise, the least significant bit should be set
in the tablespace flags, and the file format identifier is written
in the bits 5 through 11. (Divide the tablespace flags by 32 and
take the remainder after dividing the integer part of the result
by 128.)
tablename.ibd

User Comments
Add your own comment.