Ваш индекс строится, но очень медленно.
В MySQL есть два метода для создания индексов:
- путем сортировки.Это самый быстрый метод, но он занимает много памяти.
- с помощью keycache.Медленно, медленно, медленно - но занимает мало памяти.
Метод кэширования клавиш немного похож на сортировку вставкой: значения вставляются в индекс по одному за раз.Это тот же метод, который используется сервером, когда оператор INSERT используется для добавления строк в таблицу.
Метод сортировки сортирует все значения с помощью быстрой сортировки, а затем строит из этого индекс.Это очень быстро, но требует много памяти и временного дискового пространства.
Некоторые серверные переменные могут увеличить пространство, доступное для метода сортировки, и, таким образом, позволить ему работать с большими таблицами.См. Myisam_max_sort_file_size
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_myisam_max_sort_file_size
В Linux вы можете отслеживать ход восстановления индекса, проверяя размер временных файлов, которые используются для построения индекса.Следующая команда выведет список всех файлов, которые остаются открытыми процессом MySQL:
sudo ls -l /proc/[mysql-pid]/fd
Затем проверьте размер файлов с хешами в их именах - это временные файлы.