"Perbaiki dengan menyortir" menggunakan rutinitas filesort, yang pada gilirannya membuat beberapa file sementara (biasanya) di tmpdir Anda.
Jika tmpdir Anda tidak memiliki cukup ruang untuk mereka, itu akan kembali ke "Perbaiki dengan keycache". Ini sangat buruk karena jauh lebih lambat DAN menciptakan indeks yang kurang optimal.
Ada beberapa kondisi lain tetapi saya belum mengidentifikasinya.
Menentukan ukuran tmpdir yang Anda perlukan untuk filesort() bukanlah hal yang sepele; format data yang disimpan dalam buffer filesort tidak sama dengan file MYD, biasanya menggunakan lebih banyak ruang.
Jadi, jika tmpdir Anda menunjuk ke /tmp (atau tmpfs) kecil, Anda mungkin ingin mengubahnya ke /var/tmp yang lebih besar - jika ada.