aria_pack
aria_pack is a tool for compressing Aria tables. The resulting table are read-only, and usually about 40% to 70% smaller.
aria_pack is run as follows
aria_pack [options] file_name [file_name2...]
The file name is the .MAI index file. The extension can be omitted, although keeping it permits wildcards, such as
aria_pack *.MAI
to compress all the files.
aria_pack compresses each column separately, and, when the resulting data is read, only the individual rows and columns required need to be decompressed, allowing for quicker reading.
Once a table has been packed, use aria_chk -rq (the quick and recover options) to rebuild its indexes.
Options
The following variables can be set while passed as commandline options to aria_pack, or set in the [ariapack] section in your my.cnf file.
Option | Description |
---|---|
-b, --backup | Make a backup of the table as table_name.OLD. |
--character-sets-dir=name | Directory where character sets are. |
-h, --datadir | Path for control file (and logs if --logdir not used). From MariaDB 10.5.3 |
-#, --debug[=name] | Output debug log. Often this is 'd:t:o,filename'. |
-?, --help | Display help and exit. |
-f, --force | Force packing of table even if it gets bigger or if tempfile exists. |
--ignore-control-file | Ignore the control file. From MariaDB 10.5.3. |
-j, --join=name | Join all given tables into 'new_table_name'. All tables MUST have identical layouts. |
--require-control-file | Abort if cannot find control file. From MariaDB 10.5.3. |
-s, --silent | Only write output when an error occurs. |
-t, --test | Don't pack table, only test packing it. |
-T, --tmpdir=name | Use temporary directory to store temporary table. |
-v, --verbose | Write info about progress and packing result. Use many -v for more verbosity! |
-V, --version | Output version information and exit. |
-w, --wait | Wait and retry if table is in use. |
Unpacking
To unpack a table compressed with aria_pack, use the aria_chk -u option.
Example
> aria_pack /my/data/test/posts Compressing /my/data/test/posts.MAD: (1690 records) - Calculating statistics - Compressing file 37.71% > aria_chk -rq --ignore-control-file /my/data/test/posts - check record delete-chain - recovering (with keycache) Aria-table '/my/data/test/posts' Data records: 1690 State updated