"Reparer ved sortering" bruger filensort-rutinen, som igen opretter flere midlertidige filer (normalt) i din tmpdir.
Hvis din tmpdir ikke har plads nok til dem, vil den vende tilbage til "Repair by keycache". Dette er ekstremt dårligt, da det er meget langsommere OG skaber mindre optimale indekser.
Der er nogle andre forhold, men jeg har ikke identificeret dem.
Det er ikke-trivielt at beregne størrelsen på tmpdir, du har brug for til filesort(); formatdataene er gemt i filer, eller buffer er ikke det samme som MYD-filer, det bruger typisk meget mere plads.
Så hvis din tmpdir peger på en lille /tmp (eller tmpfs), vil du måske ændre den til en større /var/tmp - hvis den findes.