
modify or ignore it. If KEY_BLOCK_SIZE is set to 0, the storage engine's
default value will be used.

With the InnoDB storage engine, if you specify a non-zero value for the
KEY_BLOCK_SIZE table option for the whole table, then the table will
implicitly be created with the ROW_FORMAT table option set to COMPRESSED.

MIN_ROWS/MAX_ROWS
-----------------

MIN_ROWS and MAX_ROWS let the storage engine know how many rows you are
planning to store as a minimum and as a maximum. These values will not be used
as real limits, but they help the storage engine to optimize the table.
MIN_ROWS is only used by MEMORY storage engine to decide the minimum memory
that is always allocated. MAX_ROWS is used to decide the minimum size for
indexes.

PACK_KEYS
---------

PACK_KEYS can be used to determine whether the indexes will be compressed. Set
it to 1 to compress all keys. With a value of 0, compression will not be used.
With the DEFAULT value, only long strings will be compressed. Uncompressed
keys are faster.

PAGE_CHECKSUM
-------------

PAGE_CHECKSUM is only applicable to Aria tables, and determines whether
indexes and data should use page checksums for extra safety.

PAGE_COMPRESSED
---------------

PAGE_COMPRESSED is used to enable InnoDB page compression for InnoDB tables.

PAGE_COMPRESSION_LEVEL
----------------------

PAGE_COMPRESSION_LEVEL is used to set the compression level for InnoDB page
compression for InnoDB tables. The table must also have the PAGE_COMPRESSED
table option set to 1.

Valid values for PAGE_COMPRESSION_LEVEL are 1 (the best speed) through 9 (the
best compression), .

PASSWORD
--------

PASSWORD is unused.

RAID_TYPE
---------

RAID_TYPE is an obsolete option, as the raid support has been disabled since
MySQL 5.0.

ROW_FORMAT
----------

The ROW_FORMAT table option specifies the row format for the data file.
Possible values are engine-dependent.

Supported MyISAM Row Formats
----------------------------

For MyISAM, the supported row formats are:

* FIXED
* DYNAMIC
* COMPRESSED

The COMPRESSED row format can only be set by the myisampack command line tool.

See MyISAM Storage Formats for more information.

Supported Aria Row Formats
--------------------------

For Aria, the supported row formats are:

* PAGE
* FIXED
* DYNAMIC.

See Aria Storage Formats for more information.

Supported InnoDB Row Formats
----------------------------

For InnoDB, the supported row formats are:

* COMPACT
* REDUNDANT
* COMPRESSED
* DYNAMIC.

If the ROW_FORMAT table option is set to FIXED for an InnoDB table, then the
server will either return an error or a warning depending on the value of the
innodb_strict_mode system variable. If the innodb_strict_mode system variable
is set to OFF, then a warning is issued, and MariaDB will create the table
using the default row format for the specific MariaDB server version. If the
innodb_strict_mode system variable is set to ON, then an error will be raised.

See InnoDB Storage Formats for more information.

Other Storage Engines and ROW_FORMAT
------------------------------------

Other storage engines do not support the ROW_FORMAT table option.

SEQUENCE
--------

MariaDB starting with 10.3
--------------------------
If the table is a sequence, then it will have the SEQUENCE set to 1.

STATS_AUTO_RECALC
-----------------

STATS_AUTO_RECALC indicates whether to automatically recalculate persistent
statistics (see STATS_PERSISTENT, below) for an InnoDB table. If set to 1,
statistics will be recalculated when more than 10% of the data has changed.
When set to 0, stats will be recalculated only when an ANALYZE TABLE is run.
If set to DEFAULT, or left out, the value set by the innodb_stats_auto_recalc
system variable applies. See InnoDB Persistent Statistics.

STATS_PERSISTENT
----------------

STATS_PERSISTENT indicates whether the InnoDB statistics created by ANALYZE
TABLE will remain on disk or not. It can be set to 1 (on disk), 0 (not on
disk, the pre-MariaDB 10 behavior), or DEFAULT (the same as leaving out the
option), in which case the value set by the innodb_stats_persistent system
variable will apply. Persistent statistics stored on disk allow the statistics
to survive server restarts, and provide better query plan stability. See
InnoDB Persistent Statistics.

STATS_SAMPLE_PAGES
------------------

STATS_SAMPLE_PAGES indicates how many pages are used to sample index
statistics. If 0 or DEFAULT, the default value, the innodb_stats_sample_pages
value is used. See InnoDB Persistent Statistics.

TRANSACTIONAL
-------------

TRANSACTIONAL is only applicable for Aria tables. In future Aria tables
created with this option will be fully transactional, but currently this
provides a form of crash protection. See Aria Storage Engine for more details.

UNION
-----

UNION must be specified when you create a MERGE table. This option contains a
comma-separated list of MyISAM tables which are accessed by the new table. The
list is enclosed between parenthesis. Example: UNION = (t1,t2)

WITH SYSTEM VERSIONING
----------------------

WITH SYSTEM VERSIONING is used for creating System-versioned tables.

Partitions
----------

partition_options:
  PARTITION BY
    { [LINEAR] HASH(expr)
    | [LINEAR] KEY(column_list)
    | RANGE(expr)
    | LIST(expr)
    | SYSTEM_TIME [INTERVAL time_quantity time_unit] [LIMIT num] }
  [PARTITIONS num]
  [SUBPARTITION BY
    { [LINEAR] HASH(expr)