MySQL импорт

Скажем, что для создания mysql дампа мы используем такую команду:

mysqldump -udemo -p12345 --routines demo_db | gzip -9 > dump.sql.gz

В результате мы получим dump.sql.gz архив, который впоследствии можем импортировать двумя способами:

# импорт через распаковку
gunzip dump.sql.gz && mysql -u{name} -p{password} {db_name} < dump.sql

# импорт через пайп
gunzip < dump.sql.gz | mysql -u{name} -p{password} {db_name}

А теперь, используя комманду time, засечем время выполнения каждого из способов. Для каждого из них я пересоздавал базу. В дампе находятся не только структура базы, но и тестовые данные. Размер файлов представлен ниже. И разница в том, что во втором случае архив остается на месте.

# 81.9 MB - dump.sql дамп
# 11.8 MB - dump.sql.gz архив

# импорт через распаковку
time (gunzip dump.sql.gz && mysql -udemo -p12345 demo_db < dump.sql)

real 1m9.599s
user 0m2.499s
sys  0m0.245s

# импорт через пайп
time (gunzip < dump.sql.gz | mysql -udemo -p12345 demo_db)

real 1m7.093s
user 0m2.536s
sys  0m0.193s