Estou sofrendo com lentidão no mysqldump/mariadb-dump.
Descobri que desabilitar autocommit, unique_checks and foreign_key_checks
aumenta o desempenho da importação.
Eu faço isso adicionando dump.sql
antes
SET autocommit=0;SET unique_checks=0;SET foreign_key_checks=0;
e anexando
COMMIT;SET unique_checks=1;SET foreign_key_checks=1;
até o fim disso.
Acrescentar é trivial, mas ao acrescentar preciso fazer um acordo entre tempo ou espaço consumido.
Prependendo com
sed -i '0,/^/s//SET autocommit=0;SET unique_checks=0;SET foreign_key_checks=0;/' dump.sql
pode levar muito tempo para despejos grandes, mas cria um único arquivo.
cat <(echo "SET autocommit=0;SET unique_checks=0;SET foreign_key_checks=0;") dump.sql <(echo "COMMIT;SET unique_checks=1;SET foreign_key_checks=1;") > new-dump.sql"
É rápido, mas cria outro arquivo de despejo e, portanto, usa muito espaço (mesmo que seja apenas temporário)
É possível instruir mysqldump/maridb-dump
para acrescentar e acrescentar um texto personalizado ao dump quando ele estiver sendo criado?