Я уже сталкивался с этой проблемой и раньше, и ни в коем случае не разбираюсь в этом, но вам нужно будет сделать немного больше, чтобы добиться лучших результатов.
Я обнаружил, чтов моей ситуации я не мог MySQL принять один большой оператор INSERT, но обнаружил, что, если я разделю его на группы по 10 000 INSERTS за раз, например, как предложено в nos, тогда он выполнит свою работу довольно быстро.Стоит отметить, что при выполнении нескольких таких операций INSERT вы, скорее всего, достигнете предела времени ожидания PHP, но этого можно избежать, сбросив тайм-аут с помощью set_time_limit ($ секунд) , я обнаружил, что делать это послекаждый успешный INSERT работал очень хорошо.
Вы должны быть осторожны с этим, потому что вы можете оказаться в цикле аварии с неограниченным тайм-аутом, и для этого я бы предложил протестировать, чтобы убедиться, что каждый INSERT былуспешным путем проверки ошибок, о которых сообщает MySQL, с помощью mysql_errno () или mysql_error () .Вы также можете перехватывать ошибки, проверяя количество строк, на которые влияет INSERT, с помощью mysql_affered_rows () .После этого вы можете остановиться после первой ошибки.