Bạn sẽ có thể tăng tốc độ đáng kể bằng cách đưa các khoản chèn của mình vào trong một giao dịch. Bạn cũng có thể di chuyển các câu lệnh chuẩn bị và liên kết ra bên ngoài vòng lặp của mình.
$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");
Tôi đã kiểm tra mã này với 10.000 lần lặp lại trên máy chủ web của mình.
Không có giao dịch:226 seconds.
Với giao dịch:2 seconds.
Hoặc two order of magnitude speed increase
, ít nhất là cho bài kiểm tra đó.