Могли быть несколько вещей.
Самый очевидный был бы Ваш TMP_TABLE_SIZE
переменная к маленькому, и MySQL должен составить временную таблицу на диске а не в памяти. Используя следующий запрос покажет, создает ли MySQL диск tmp таблицы.
mysql> SHOW STATUS LIKE '%tmp%';
Другая проблема могла быть то, что таблица, которая должна перейти к временной таблице, BINARY
или TEXT
таблица, которую механизм памяти не поддерживает и для этого Вы создали бы таблицу MyISAM на диске.
Временные таблицы, составленные на диске, являются таблицами MyISAM. HEAP
старое название для MEMORY
таблицы, таким образом, необходимо работать пред версия MySQL 5.x MySQL.