Rechercher dans le manuel MySQL
B.4.3.5 Where MySQL Stores Temporary Files
On Unix, MySQL uses the value of the TMPDIR
environment variable as the path name of the directory in
which to store temporary files. If TMPDIR
is not set, MySQL uses the system default, which is usually
/tmp
, /var/tmp
, or
/usr/tmp
.
On Windows, MySQL checks in order the values of the
TMPDIR
, TEMP
, and
TMP
environment variables. For the first
one found to be set, MySQL uses it and does not check those
remaining. If none of TMPDIR
,
TEMP
, or TMP
are set,
MySQL uses the Windows system default, which is usually
C:\windows\temp\
.
If the file system containing your temporary file directory is
too small, you can use the mysqld
--tmpdir
option to specify a
directory in a file system where you have enough space.
The --tmpdir
option can be set
to a list of several paths that are used in round-robin
fashion. Paths should be separated by colon characters
(:
) on Unix and semicolon characters
(;
) on Windows.
To spread the load effectively, these paths should be located on different physical disks, not different partitions of the same disk.
If the MySQL server is acting as a replication slave, you can
use the --slave-load-tmpdir
option to specify a separate directory for holding temporary
files when replicating LOAD
DATA
statements. This directory should be in a
disk-based file system (not a memory-based file system) so
that the temporary files used to replicate LOAD DATA can
survive machine restarts. The directory also should not be one
that is cleared by the operating system during the system
startup process. However, replication can now continue after a
restart if the temporary files have been removed.
MySQL arranges that temporary files are removed if mysqld is terminated. On platforms that support it (such as Unix), this is done by unlinking the file after opening it. The disadvantage of this is that the name does not appear in directory listings and you do not see a big temporary file that fills up the file system in which the temporary file directory is located. (In such cases, lsof +L1 may be helpful in identifying large files associated with mysqld.)
When sorting (ORDER BY
or GROUP
BY
), MySQL normally uses one or two temporary files.
The maximum disk space required is determined by the following
expression:
(length of what is sorted + sizeof(row pointer))
* number of matched rows
* 2
The row pointer size is usually four bytes, but may grow in the future for really big tables.
For some statements, MySQL creates temporary SQL tables that
are not hidden and have names that begin with
#sql
.
Some SELECT
queries creates
temporary SQL tables to hold intermediate results.
DDL operations that rebuild the table and are not performed
online using the ALGORITHM=INPLACE
technique create a temporary copy of the original table in the
same directory as the original table.
Online DDL operations may use temporary log files for recording concurrent DML, temporary sort files when creating an index, and temporary intermediate tables files when rebuilding the table. For more information, see Section 15.12.3, “Online DDL Space Requirements”.
InnoDB
user-created temporary tables and
on-disk internal temporary tables are created in a temporary
tablespace file named ibtmp1
in the MySQL
data directory. For more information, see
Section 15.6.3.5, “Temporary Tablespaces”.
See also Section 15.14.7, “InnoDB INFORMATION_SCHEMA Temporary Table Info Table”.
The optional EXTENDED
modifier causes
SHOW TABLES
to list hidden
tables created by failed ALTER
TABLE
statements. See Section 13.7.6.37, “SHOW TABLES Syntax”.
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 26/06/2006 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/mysql-rf-temporary-files.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.