「並べ替えによる修復」では、filesortルーチンを使用します。これにより、tmpdirに(通常は)いくつかの一時ファイルが作成されます。
tmpdirに十分なスペースがない場合は、「キーキャッシュによる修復」に戻ります。これは非常に遅く、最適なインデックスを作成しないため、非常に悪いです。
他にもいくつかの条件がありますが、私はそれらを特定していません。
filesort()に必要なtmpdirのサイズを計算するのは簡単ではありません。ファイルソートバッファに保存されるフォーマットデータはMYDファイルと同じではなく、通常はより多くのスペースを使用します。
したがって、tmpdirが小さな/ tmp(またはtmpfs)を指している場合は、それをより大きな/ var/tmpに変更することをお勧めします-存在する場合。