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

4.6.3.1. Общие параметры myisamchk

Опции, описанные в этом разделе, могут использоваться для любого типа табличной работы обслуживания, выполняемой myisamchk. Разделы после этого описывают опции, которые принадлежат только определенным операциям, таким как табличная проверка или восстановление.

Можно также установить следующие переменные при использовании --var_name=value синтаксис:

Переменная Значение по умолчанию
decode_bits 9
ft_max_word_len зависимый от версии
ft_min_word_len 4
ft_stopword_file встроенный список
key_buffer_size 523264
myisam_block_size 1024
myisam_sort_key_blocks 16
read_buffer_size 262136
sort_buffer_size 2097144
sort_key_blocks 16
stats_method nulls_unequal
write_buffer_size 262136

Возможные myisamchk переменные и их значения по умолчанию могут быть исследованы с myisamchk - справка:

sort_buffer_size используется, когда ключи восстанавливаются ключами сортировки, который является нормальным случаем, когда Вы используете --recover. С MySQL 5.6.9, myisam_sort_buffer_size доступно как альтернативное имя к sort_buffer_size. myisam_sort_buffer_size предпочтительно для sort_buffer_size потому что его имя соответствует myisam_sort_buffer_size системная переменная сервера, у которой есть подобное значение. sort_buffer_size должен считаться осуждаемым.

key_buffer_size используется, когда Вы проверяете таблицу с --extend-check или когда ключи восстанавливаются, вставляя ключевую строку строкой в таблицу (как, делая нормальные вставки). Восстановление через ключевой буфер используется в следующих случаях:

Восстановление через ключевой буфер берет намного меньше дискового пространства чем использование сортировки, но также намного медленнее.

Если Вы хотите более быстрое восстановление, устанавливаете key_buffer_size и myisam_sort_buffer_size переменные приблизительно к 25 % Вашей доступной памяти. Можно установить обе переменные в большие значения, потому что только один из них используется за один раз.

myisam_block_size размер, используемый для, индексируют блоки.

stats_method влияния, как NULL значения обрабатываются для, индексируют набор статистики когда --analyze опция дается. Это действует как myisam_stats_method системная переменная. Для получения дополнительной информации см. описание myisam_stats_method в Разделе 5.1.4, "Системные Переменные Сервера", и Раздел 8.3.7,"InnoDB и MyISAM Индексируйте Набор Статистики".

ft_min_word_len и ft_max_word_len укажите на минимальную и максимальную длину слова для FULLTEXT индексирует на MyISAM таблицы. ft_stopword_file называет stopword файл. Они должны быть установлены при следующих обстоятельствах.

Если Вы используете myisamchk, чтобы выполнить работу, которая изменяет таблицу, индексирует (такие как восстановление, или проанализируйте), FULLTEXT индексирует восстанавливаются, используя значение по умолчанию полнотекстовые значения параметра для минимальной и максимальной длины слова и stopword файла, если Вы не определяете иначе. Это может привести к сбою запросов.

Проблема происходит, потому что эти параметры известны только сервером. Они не сохранены в MyISAM индексные файлы. Чтобы избежать проблемы, если Вы изменили минимальную или максимальную длину слова или stopword файл в сервере, определите то же самое ft_min_word_len, ft_max_word_len, и ft_stopword_file значения к myisamchk, который Вы используете для mysqld. Например, если Вы установили минимальную длину слова до 3, можно восстановить таблицу с myisamchk как это:

shell> myisamchk --recover --ft_min_word_len=3 tbl_name.MYI

Чтобы гарантировать, что myisamchk и сервер используют те же самые значения для полнотекстовых параметров, можно разместить каждого в обоих [mysqld] и [myisamchk] разделы файла опции:

[mysqld]ft_min_word_len=3[myisamchk]ft_min_word_len=3

Альтернатива использованию myisamchk должна использовать REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE, или ALTER TABLE. Эти операторы выполняются сервером, который знает, что надлежащие полнотекстовые значения параметра используют.