Early versions of InnoDB used an unnamed file format (now called
Antelope) for database files.
With that format, tables were defined with
ROW_FORMAT=COMPACT (or
ROW_FORMAT=REDUNDANT) and InnoDB stored up to
the first 768 bytes of variable-length columns (such as
BLOB and VARCHAR) in the
index record within the B-tree node, with the remainder stored on
the overflow pages.
To preserve compatibility with those prior versions, tables
created with the newest InnoDB use the prefix format, unless one
of ROW_FORMAT=DYNAMIC or
ROW_FORMAT=COMPRESSED is specified (or implied)
on the CREATE TABLE statement.
With the Antelope file format, if the value of a column is 768
bytes or less, no overflow page is needed, and some savings in I/O
may result, since the value is in the B-tree node. This works well
for relatively short BLOBs, but may cause
B-tree nodes to fill with data rather than key values, reducing
their efficiency. Tables with many BLOB columns
could cause B-tree nodes to become too full of data, and contain
too few rows, making the entire index less efficient than if the
rows were shorter or if the column values were stored off-page.

User Comments
Add your own comment.