Spec-Zone .ru
спецификации, руководства, описания, API
|
Early versions of InnoDB used an unnamed file format (now called Antelope) for database
files. With that file format, tables are defined with ROW_FORMAT=COMPACT
or ROW_FORMAT=REDUNDANT
. InnoDB stores 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 default to the COMPACT
row format. See Section
5.4.8.3, "DYNAMIC
and COMPRESSED
Row Formats" for
information about the newer DYNAMIC
and COMPRESSED
row
formats.
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
BLOB
s, 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.