„Naprawa przez sortowanie” używa procedury sortowania plików, która z kolei tworzy kilka plików tymczasowych (zwykle) w twoim tmpdir.
Jeśli twój tmpdir nie ma dla nich wystarczającej ilości miejsca, powróci do "Naprawy przez pamięć podręczną". Jest to bardzo złe, ponieważ jest znacznie wolniejsze ORAZ tworzy mniej optymalne indeksy.
Istnieje kilka innych warunków, ale ich nie zidentyfikowałem.
Ustalenie rozmiaru tmpdir potrzebnego do filesort() nie jest trywialne; dane formatu są przechowywane w buforze sortowania plików to nie to samo co pliki MYD, zwykle zajmuje dużo więcej miejsca.
Więc jeśli twój tmpdir wskazuje na mały /tmp (lub tmpfs), możesz zmienić go na większy /var/tmp - jeśli taki istnieje.