W3cubDocs

/MariaDB

myisampack

myisampack is a tool for compressing MyISAM tables. The resulting tables are read-only, and usually about 40% to 70% smaller. It is run as follows:

myisampack [options] file_name [file_name2...]

The file_name is the .MYI index file. The extension can be omitted, although keeping it permits wildcards, such as:

myisampack *.MYI

...to compress all the files.

myisampack 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 myisamchk -rq (the quick and recover options) to rebuild its indexes.

myisampack does not support partitioned tables.

Do not run myisampack if the tables could be updated during the operation, and skip_external_locking has been set.

Options

The following variables can be set while passed as commandline options to myisampack, or set with a [myisampack] 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.
-# , --debug[=name] Output debug log. Often this is 'd:t:o,filename'.
-f, --force Force packing of table even if it gets bigger or if tempfile exists.
-j, --join=name Join all given tables into 'new_table_name'. All tables must have identical layouts.
-?, --help Display help and exit.
-s, --silent Only write output when an error occurs
-T, --tmpdir=name Use temporary directory to store temporary table.
-t, --test Don't pack table, only test packing it.
-v, --verbose Write info about progress and packing result. Use multiple -v flags for more verbosity.
-V, --version Output version information and exit.
-w, --wait Wait and retry if table is in use.

Uncompressing

To uncompress a table compressed with myisampack, use the myisamchk -u option.

Examples

> myisampack /var/lib/mysql/test/posts
Compressing /var/lib/mysql/test/posts.MYD: (1680 records)
- Calculating statistics
- Compressing file
37.71%
> myisamchk -rq /var/lib/mysql/test/posts
- check record delete-chain
- recovering (with sort) MyISAM-table '/var/lib/mysql/test/posts'
Data records: 1680
- Fixing index 1
- Fixing index 2

See Also

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.

© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/myisampack/