Onde o MariaDB Armazena Arquivos Temporários
O MariaDB usa o valor da variável de ambiente TMPDIR
como caminho para o diretória que aramzena os arquivos temporários. Se você não tiver definido TMPDIR
, o MariaDB usa o padrão do sistema, que normalmente é /tmp
ou /usr/tmp
. Se o sistema de arquivo contendo o seu diretório de arquivo temporário é muito pequeno, você deve editar o mysqld_safe
para configurar TMPDIR
para apontar para um diretório onde você tenha espaço suficiente! Você também pode definir o diretório temporário usando a opção --tmpdir
com mysqld
.
O MariaDB cria todos os arquivos temporários como arquivos ocultos. Isto assegura que os arquivos temporários serão removidos se o mysqld
for terminado. A desvantagem de usar arquivos ocultos é que você não verá um arquivo temporário grande que enche o sistema de arquivos no qual o diretório de arquivos temporários está localizado.
Ao ordenar (ORDER BY
ou GROUP BY
), o MariaDB normalmente usa um ou dois arquivos temporários. O espaço em disco máximo que você precisa é:
(tamanho do que é ordenado + sizeof(apontador do banco de dados)) * números de linhas encontradas * 2
sizeof(apontados do banco de dados)
normalmene é 4, mas pode crescer no futuro para tabelas realmente grandes.
Para algumas consultas SELECT
, o MariaDB também cria tabelas SQL temporárias. Elas não são ocultas e têm nomes da forma SQL_*
.
ALTER TABLE
cria uam tabela temporária no mesmo diretório da tabela original.
Se você está usando o MariaDB ou posterior você pode espalhar a carga entre vários discos físicos definindo --tmpdir
com uma lista de caminhos separados por dois pontos :
(ponto e vírgula ;
no Windows). Eles serão feitos através de escalonamento round-robin. Nota: Estes caminhos devem ser de diferentes discos físicos, e não partições diferentes do mesmo disco.