Переменная окружения TMPDIR содержит полное имя каталога, в котором в MySQL хранит временные файлы. Если TMPDIR не установлена, то MySQL использует каталог, заданный в системе по умолчанию (обычно это `/tmp' или `/usr/tmp'). Если файловая система, в которой находится каталог временных файлов, слишком мала, то следует, отредактировав safe_mysqld, присвоить TMPDIR значение, указывающее на каталог в "более просторной" файловой системе! Временный каталог можно также задавать с помощью опции --tmpdir к mysqld.
Все временные файлы MySQL создает как скрытые; таким образом гарантируется, что временные файлы будут удалены, если mysqld умрет. Недостаток использования скрытых файлов в том, что не будут видны большие временные файлы, забирающие место в файловой системе, где расположен каталог временных файлов.
При сортировке (ORDER BY или GROUP BY) MySQL обычно использует один или два временных файла. Максимальный размер требующегося для этого пространства на диске составляет:
(размер сортируемых данных + sizeof(указатель базы данных)) * количество совпавших записей * 2
sizeof(указатель базы данных) обычно равен 4, но со временем для очень больших таблиц может увеличиться.
Для некоторых запросов SELECT MySQL также создает временные SQL-таблицы. Они не скрытые и имеют имена вида `SQL_*'.
ALTER TABLE создает временную таблицу в одном каталоге с исходной таблицей.
Если вы используете версию 4.1 или более новую - вы можете распределять нагрузку между несколькими физическими дисками путем установления --tmpdir в список путей, разделенных двоеточием : (точкой с запятой ; - под Winodws). Они будут использоваться в ротации. Замечание: эти пути должны представлять различные физические диски, а не различные разделы одного и того же диска.