Проблема в том, что этот вопрос не следует задавать с помощью PHP, это касается базы данных.
Во время импорта индексы перестраиваются, проверяются внешние ключи и т. Д., И именно здесь импорт фактически занимает много времени, в зависимости от структуры вашей базы данных.
В дополнение к этому, аппаратное обеспечение может быть неисправно (то есть, если база данных находится на жестком диске, импорт займет заметно больше времени, чем на диске SSD).
Я предлагаю сначала посмотреть на результат mysqltuner.pl и начать с него оптимизацию своей базы данных. Может быть, опубликовать вопрос в SO о том, как улучшить базу данных (как отдельный вопрос, конечно)
отключение SET FOREIGN_KEY_CHECKS = 0 перед импортом, а затем включение его с помощью SET FOREIGN_KEY_CHECKS = 1 после импорта может немного помочь, но это не выполнит всех оптимизаций, которые вы можете сделать.
Если все, что вы просто хотите сделать, это ЗАДАТЬ задачу, чтобы вам не нужно было ждать завершения импорта базы данных, вам нужно реализовать очередь задач (т.е. в таблице базы данных) и обрабатывать ее через crontab, как и предлагал Муйин.