"Repareren door te sorteren" gebruikt de filesort-routine, die op zijn beurt verschillende tijdelijke bestanden (meestal) in uw tmpdir aanmaakt.
Als je tmpdir niet genoeg ruimte voor ze heeft, zal het terugkeren naar "Repareren door keycache". Dit is buitengewoon slecht omdat het veel langzamer is EN minder optimale indexen creëert.
Er zijn enkele andere voorwaarden, maar ik heb ze niet geïdentificeerd.
Het berekenen van de grootte van tmpdir die je nodig hebt voor filesort() is niet triviaal; de formaatgegevens die worden opgeslagen in de filesort-buffer zijn niet hetzelfde als MYD-bestanden, het neemt doorgaans veel meer ruimte in beslag.
Dus als je tmpdir naar een kleine /tmp (of tmpfs) wijst, wil je deze misschien veranderen in een grotere /var/tmp - als die bestaat.