Spec-Zone .ru
спецификации, руководства, описания, API

4.6.5. myisampack — Генерируют Сжатые, Таблицы MyISAM Только для чтения

myisampack служебные сжатия MyISAM таблицы. myisampack работает, сжимая каждый столбец в таблице отдельно. Обычно, myisampack упаковывает файл данных 40 % к 70 %.

Когда таблица используется позже, чтения сервера в память, информация должна была распаковать столбцы. Это приводит к намного лучшей производительности, получая доступ к отдельным строкам, потому что только необходимо распаковать точно одну строку.

Использование MySQL mmap() когда возможный выполнять память, отображающуюся на сжатых таблицах. Если mmap() не работает, MySQL отступает к нормальным операциям файла чтения-записи.

Пожалуйста, отметьте следующее:

Вызовите myisampack как это:

shell> myisampack [options]
        file_name ...

Каждым параметром имени файла должно быть имя индексирования (.MYI) файл. Если Вы не находитесь в каталоге базы данных, следует определить путь к файлу. Допустимо опустить .MYI расширение.

После того, как Вы сжимаете таблицу с myisampack, следует использовать myisamchk - запрос, чтобы восстановить индексирует. Раздел 4.6.3, "myisamchk — Утилита Табличного обслуживания MyISAM" .

myisampack поддерживает следующие опции. Это также читает файлы опции и поддерживает опции для того, чтобы обработать их описанный в Разделе 4.2.3.4, "Параметры командной строки, которые Влияют на Обработку Файла опции".

Следующая последовательность команд иллюстрирует типичный табличный сеанс сжатия:

shell> ls -l station.*-rw-rw-r--   1 monty    my         994128 Apr 17 19:00 station.MYD-rw-rw-r--   1 monty    my          53248 Apr 17 19:00 station.MYI-rw-rw-r--   1 monty    my           5767 Apr 17 19:00 station.frmshell> myisamchk -dvv stationMyISAM file:     stationIsam-version:  2Creation time: 1996-03-13 10:08:58Recover time:  1997-02-02  3:06:43Data records:              1192  Deleted blocks:              0Datafile parts:            1192  Deleted data:                0Datafile pointer (bytes):     2  Keyfile pointer (bytes):     2Max datafile length:   54657023  Max keyfile length:   33554431Recordlength:               834Record format: Fixed lengthtable description:Key Start Len Index   Type                 Root  Blocksize    Rec/key1   2     4   unique  unsigned long        1024       1024          12   32    30  multip. text                10240       1024          1Field Start Length Type1     1     12     2     43     6     44     10    15     11    206     31    17     32    308     62    359     97    3510    132   3511    167   412    171   1613    187   3514    222   415    226   1616    242   2017    262   2018    282   2019    302   3020    332   421    336   422    340   123    341   824    349   825    357   826    365   227    367   228    369   429    373   430    377   131    378   232    380   833    388   434    392   435    396   436    400   437    404   138    405   439    409   440    413   441    417   442    421   443    425   444    429   2045    449   3046    479   147    480   148    481   7949    560   7950    639   7951    718   7952    797   853    805   154    806   155    807   2056    827   457    831   4shell> myisampack station.MYICompressing station.MYI: (1192 records)- Calculating statisticsnormal:     20  empty-space:   16  empty-zero:     12  empty-fill:  11pre-space:   0  end-space:     12  table-lookups:   5  zero:         7Original trees:  57  After join: 17- Compressing file87.14%Remember to run myisamchk -rq on compressed tablesshell> ls -l station.*-rw-rw-r--   1 monty    my         127874 Apr 17 19:00 station.MYD-rw-rw-r--   1 monty    my          55296 Apr 17 19:04 station.MYI-rw-rw-r--   1 monty    my           5767 Apr 17 19:00 station.frmshell> myisamchk -dvv stationMyISAM file:     stationIsam-version:  2Creation time: 1996-03-13 10:08:58Recover time:  1997-04-17 19:04:26Data records:               1192  Deleted blocks:              0Datafile parts:             1192  Deleted data:                0Datafile pointer (bytes):      3  Keyfile pointer (bytes):     1Max datafile length:    16777215  Max keyfile length:     131071Recordlength:                834Record format: Compressedtable description:Key Start Len Index   Type                 Root  Blocksize    Rec/key1   2     4   unique  unsigned long       10240       1024          12   32    30  multip. text                54272       1024          1Field Start Length Type                         Huff tree  Bits1     1     1      constant                             1     02     2     4      zerofill(1)                          2     93     6     4      no zeros, zerofill(1)                2     94     10    1                                           3     95     11    20     table-lookup                         4     06     31    1                                           3     97     32    30     no endspace, not_always              5     98     62    35     no endspace, not_always, no empty    6     99     97    35     no empty                             7     910    132   35     no endspace, not_always, no empty    6     911    167   4      zerofill(1)                          2     912    171   16     no endspace, not_always, no empty    5     913    187   35     no endspace, not_always, no empty    6     914    222   4      zerofill(1)                          2     915    226   16     no endspace, not_always, no empty    5     916    242   20     no endspace, not_always              8     917    262   20     no endspace, no empty                8     918    282   20     no endspace, no empty                5     919    302   30     no endspace, no empty                6     920    332   4      always zero                          2     921    336   4      always zero                          2     922    340   1                                           3     923    341   8      table-lookup                         9     024    349   8      table-lookup                        10     025    357   8      always zero                          2     926    365   2                                           2     927    367   2      no zeros, zerofill(1)                2     928    369   4      no zeros, zerofill(1)                2     929    373   4      table-lookup                        11     030    377   1                                           3     931    378   2      no zeros, zerofill(1)                2     932    380   8      no zeros                             2     933    388   4      always zero                          2     934    392   4      table-lookup                        12     035    396   4      no zeros, zerofill(1)               13     936    400   4      no zeros, zerofill(1)                2     937    404   1                                           2     938    405   4      no zeros                             2     939    409   4      always zero                          2     940    413   4      no zeros                             2     941    417   4      always zero                          2     942    421   4      no zeros                             2     943    425   4      always zero                          2     944    429   20     no empty                             3     945    449   30     no empty                             3     946    479   1                                          14     447    480   1                                          14     448    481   79     no endspace, no empty               15     949    560   79     no empty                             2     950    639   79     no empty                             2     951    718   79     no endspace                         16     952    797   8      no empty                             2     953    805   1                                          17     154    806   1                                           3     955    807   20     no empty                             3     956    827   4      no zeros, zerofill(2)                2     957    831   4      no zeros, zerofill(1)                2     9

myisampack выводит на экран следующие виды информации:

После того, как таблица была сжата, Field строки, выведенные на экран myisamchk-dvv, включают дополнительную информацию о каждом столбце:

После того, как Вы выполняете myisampack, следует выполнить myisamchk, чтобы воссоздать, любой индексирует. В это время можно также сортировать индексировать блоки и создать статистику, необходимую для оптимизатора MySQL, чтобы работать более эффективно:

shell> myisamchk -rq --sort-index --analyze tbl_name.MYI

После того, как Вы установили упакованную таблицу в каталог базы данных MySQL, следует выполнить mysqladmin таблицы сброса, чтобы вынудить mysqld начать использовать новую таблицу.

Чтобы распаковать упакованную таблицу, используйте --unpack опция к myisamchk.