Сколько памяти имеет MySQL? Я предполагаю, что он должен идти на диск для временных таблиц, и это может быть убийственно. Насколько велик ваш innodb_buffer_pool_size в вашем файле my.cnf / my.ini? Увеличивая это (что увеличивает использование памяти), меньшие запросы (и запросы, которые должны выполнять много сортировки) не должны будут попадать на диск.
В следующий раз, когда запрос начнет делать это для вас, войдите в MySQL, выполните «show full processlist» и запишите, что там. Если вы выполняете EXPLAIN или DESCRIBE по медленному запросу, что это? Включает ли это примечание, что оно собирается во временную таблицу?
Когда MySQL начинает использовать временные таблицы, вещи могут казаться умирающими, особенно если у вас нет быстрого диска.