MariaDB Enterprise Server InnoDB Redundant Row Format

The Redundant row format is the oldest InnoDB row format. Some details about the Redundant row format:

  • The Redundant row format was retroactively named in MySQL 5.0.3, when the Compact row format was first added to InnoDB.

  • The Redundant row format should not be used in modern versions of MariaDB Server.

  • The Redundant row format does not store large columns as efficiently as the Dynamic row format.

  • The Redundant row format limits indexing column values to 767 bytes, which is significant smaller than the Dynamic row format.

List InnoDB Tables that use the Redundant Row Format

If your database was physically upgraded from some older version of MySQL, then some of your tables may be using the Redundant row format. It is easy to check.

Let's find InnoDB tables that use the Redundant row format:

  1. Connect to the server using MariaDB Client:

    $ mariadb --user=root
    
  2. List InnoDB tables that use the Redundant row format by querying the information_schema.INNODB_SYS_TABLES table:

    SELECT NAME, ROW_FORMAT
    FROM information_schema.INNODB_SYS_TABLES
    WHERE NAME NOT LIKE 'SYS_%'
    AND ROW_FORMAT = 'Redundant';
    
    +-------------------+------------+
    | NAME              | ROW_FORMAT |
    +-------------------+------------+
    | hq_sales/invoices | Redundant  |
    +-------------------+------------+
    
  3. If any tables are found, consider converting them to the Dynamic row format:

    ALTER TABLE hq_sales.invoices
       ROW_FORMAT = Dynamic;