MYSQL myisam Восстановление с помощью keycache - PullRequest
2 голосов
/ 16 февраля 2011

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

Repair with keycache     

вместо восстановления по видувот мои переменные, у меня около 100 миллионов записей в таблице, каждая строка имеет один целочисленный первичный ключ, один столбец smallint и один столбец varchar (256).myisam_max_sort_file_size составляет 500 ГБ, я сомневаюсь, что максимальный размер индексов будет примерно таким же.

mysql> show variables where variable_name like '%myisam%';
+---------------------------+----------------------+
| Variable_name             | Value                |
+---------------------------+----------------------+
| myisam_data_pointer_size  | 6                    |
| myisam_max_sort_file_size | 536870912000         |
| myisam_mmap_size          | 18446744073709551615 |
| myisam_recover_options    | OFF                  |
| myisam_repair_threads     | 1                    |
| myisam_sort_buffer_size   | 4294967296           |
| myisam_stats_method       | nulls_unequal        |
| myisam_use_mmap           | OFF                  |
+---------------------------+----------------------+

В моем боксе 8 ГБ ОЗУ и 250 ГБ памяти, почему MYSQL не использует восстановлениес сортировкой?

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011

очевидно myisam_sort_buffer_size = 4G недостаточно, мне нужно было установить его на 10G, тогда ключи включения будут использовать восстановление с сортировкой.Это сбивает с толку меня!

1 голос
/ 09 апреля 2016

Для тех, кто нашел это, я недавно обнаружил, что мой сервер MySQL 5.1 не любит, чтобы myisam_sort_buffer_size был точным кратным 4G. Я обнаружил это после серьезного обновления оперативной памяти, оставив меня с помощью Repair from Keycache.

Я протестировал 200MB таблицу ENABLE KEYS с разными значениями для myisam_sort_buffer_size

4G - repair with keycache
5G - repair with sort
6G - repair with sort
7G - repair with sort
8G - repair with keycache

...

Не уверен, что кратность 4G была специфична для моей конфигурации, но это то, на что нужно обратить внимание. Мне потребовалось много времени, чтобы обнаружить, что после попытки установить 8G, 16G, даже 64GB.

...