content_image/808488.jpg
•Before downgrading to an earlier version of MySQL that does not support page compression, uncompress the tables that use the page compression feature. To uncompress a table, run ALTER TABLE ... COMPRESSION=None  and OPTIMIZE TABLE . 

•Page-compressed tablespaces can be copied between Linux and Windows servers if the compression algorithm that was used is available on both servers. 

•Preserving page compression when moving a page-compressed tablespace file from one host to another requires a utility that preserves sparse files. 

•Better page compression may be achieved on Fusion-io hardware with NVMFS than on other platforms, as NVMFS is designed to take advantage of punch hole functionality. 

•Using the page compression feature with a large InnoDB  page size and relatively small file system block size could result in write amplification. For example, a maximum InnoDB  page size of 64KB with a 4KB file system block size may improve compression but may also increase demand on the buffer pool, leading to increased I/O and potential write amplification. 

## 15.10 InnoDB Row Formats 

The row format of a table determines how its rows are physically stored, which in turn can affect the performance of queries and DML operations. As more rows fit into a single disk page, queries and index lookups can work faster, less cache memory is required in the buffer pool, and less I/O is required to write out updated values. 

The data in each table is divided into pages. The pages that make up each table are arranged in a tree data structure called a B-tree index. Table data and secondary indexes both use this type of structure. The B-tree index that represents an entire table is known as the clustered index, which is organized according to the primary key columns. The nodes of a clustered index data structure contain the values of all columns in the row. The nodes of a secondary index structure contain the values of index columns and primary key columns. 

Variable-length columns are an exception to the rule that column values are stored in B-tree index nodes. Variable-length columns that are too long to fit on a B-tree page are stored on separately allocated disk pages called overflow pages. Such columns are referred to as off-page columns. The values of off-page columns are stored in singly-linked lists of overflow pages, with each such column having its own list of one or more overflow pages. Depending on column length, all or a prefix of variable-length column values are stored in the B-tree to avoid wasting storage and having to read a separate page. 

The InnoDB  storage engine supports four row formats: REDUNDANT , COMPACT , DYNAMIC , and COMPRESSED . 

<img src='content_image/808488.jpg'>

