Additionally, internal on-disk tables are in the Aria table format instead of the MyISAM table format. This should speed up some GROUP BY and DISTINCT queries because Aria has better caching than MyISAM.
There are also some new options to
TRANSACTIONAL= 0: Not set by default, if set to
1, tables will be transactional, meaning all changes are logged to a transaction log, and synced at the end of the statement. This will marginally slow down writes and updates, but makes the table crash-proof, so that if the server dies before the statement ends, all changes will roll back to the state at the beginning of the statement. This also needs up to 6 bytes more for each row and key to store the transaction id (to allow concurrent insert's and selects).
TRANSACTIONAL=1is not supported for partitioned tables. If left unset, tables may still be transactional (see below).
PAGE_CHECKSUM= 0: If index and data should use page checksums for extra safety.
TABLE_CHECKSUM= 0: Same as
CHECKSUMin MySQL 5.1
ROW_FORMAT=PAGE: Default row format for Aria data tables and only row format that can be used if
TRANSACTIONAL=1. To emulate MyISAM, use
TRANSACTIONAL=1was specified, the row format will be PAGE. If a user has specified some other row format, Aria issues a warning, but still forces the row format to be PAGE.
TRANSACTIONAL=0was specified, the table will be not transactional and the row format will be whatever the user has specified (or PAGE, by default).
TRANSACTIONALwas not specified at all, the row format will be whatever the user has specified (or PAGE, by default), and the table will be transactional if the row format will end up being PAGE and non-transactional otherwise.
CHECKSUM TABLEnow ignores values in NULL fields. This makes
CHECKSUM TABLEfaster and fixes some cases where same table definition could give different checksum values depending on row format. The disadvantage is that the value is now different compared to other MySQL installations. The new checksum calculation is fixed for all table engines that uses the default way to calculate and MyISAM which does the calculation internally. Note: Old MyISAM tables with internal checksum will return the same checksum as before. To fix them to calculate according to new rules you have to do an
ALTER TABLE. You can use the old ways to calculate checksums by using the option
--oldto mysqld or set the system variable '
1when you do
CHECKSUM TABLE ... EXTENDED;
For a full list, see Aria System Variables.
In normal operations, the only variables you have to consider are:
at_flush" if you want to keep a copy of the transaction logs (good as an extra backup). The logs will stay around until you execute FLUSH ENGINE LOGS.
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.