myisampack
myisampack — это инструмент для сжатия таблиц MyISAM. Результирующие таблицы являются только для чтения и обычно меньше примерно на 40–70%. Он запускается следующим образом:
myisampack [options] file_name [file_name2...]
Файл с индексом file_name — это файл с индексом .MYI. Расширение можно опустить, хотя его сохранение позволяет использовать подстановочные знаки, например:
myisampack *.MYI
…для сжатия всех файлов.
myisampack сжимает каждый столбец отдельно, и при чтении полученных данных необходимо декомпрессировать только требуемые строки и столбцы, что позволяет ускорить чтение.
После того, как таблица была упакована, используйте myisamchk -rq (опции быстрого восстановления) для перестроения её индексов.
myisampack не поддерживает таблицы с разбиением.
Не запускайте myisampack, если таблицы могут быть обновлены во время операции, и skip_external_locking было установлено.
Параметры
Следующие переменные могут быть установлены при передаче в качестве командной строки параметрам myisampack, или установлены с помощью раздела [myisampack] в файле my.cnf.
| Параметр | Описание |
|---|---|
-b, --backup
|
Создать резервную копию таблицы как table_name.OLD. |
--character-sets-dir=name |
Директория, в которой хранятся наборы символов. |
-# , --debug[=name]
|
Вывод отладочного журнала. Часто это 'd:t:o,filename'. |
-f, --force
|
Вынужденное сжатие таблицы, даже если она станет больше или если временный файл существует. |
-j, --join=name
|
Объединить все указанные таблицы в 'new_table_name'. Все таблицы должны иметь одинаковую структуру. |
-?, --help
|
Отобразить справку и выйти. |
-s, --silent
|
Записывать вывод только при возникновении ошибки |
-T, --tmpdir=name
|
Использовать временную директорию для хранения временной таблицы. |
-t, --test
|
Не сжимать таблицу, а только протестировать сжатие. |
-v, --verbose
|
Записывать информацию о процессе и результате сжатия. Использование нескольких флагов -v для большей подробности. |
-V, --version
|
Вывести информацию о версии и выйти. |
-w, --wait
|
Ожидать и повторять попытку, если таблица используется. |
Распаковка
Чтобы распаковать таблицу, сжатую с помощью myisampack, используйте параметр myisamchk -u.
Примеры
> 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
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/myisampack/