Переменная окружения 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). Они будут использоваться в ротации. Замечание: эти пути
должны представлять различные физические диски, а не различные разделы
одного и того же диска.