Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tốt nhất để CHÈN nhiều giá trị trong mysqli?

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 đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:Thứ tự mặc định của các truy vấn là gì?

  2. MySQL Tạo bảng với các khóa ngoại cho errno:150

  3. Có bất lợi nào khi sử dụng varchar chung (255) cho tất cả các trường dựa trên văn bản không?

  4. FROM_UNIXTIME () Ví dụ - MySQL

  5. Gặp sự cố với các hàng khớp trong cơ sở dữ liệu bằng cách sử dụng PDO