Вы должны иметь возможность значительно увеличить скорость, разместив свои вставки внутри транзакции. Вы также можете переместить свои команды подготовки и привязки вне вашего цикла.
$array = array("array", "with", "about", "2000", "values");
$query = "INSERT INTO table (link) VALUES (?)";
$stmt = $mysqli->prepare($query);
$stmt ->bind_param("s", $one);
$mysqli->query("START TRANSACTION");
foreach ($array as $one) {
$stmt->execute();
}
$stmt->close();
$mysqli->query("COMMIT");
Изменить:
Я проверил этот код с 10 000 итераций на моем веб-сервере.
Без транзакции: 226 seconds.
С транзакцией: 2 seconds.
Или a two order of magnitude speed increase
, по крайней мере для этого теста.