Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách nhanh nhất chèn hàng loạt dữ liệu vào MySQL

Thay vì chạy nhiều câu lệnh INSERT riêng lẻ, gộp nhiều hàng vào một câu lệnh INSERT INTO ... VALUES (...), (...), ... để giảm overhead network và parsing.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable1839 (
    ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientName VARCHAR(20),
    ClientAge INT
);

Chèn 8 hàng trong một câu lệnh:

mysql> INSERT INTO DemoTable1839 VALUES
    (NULL,'Chris',29),(NULL,'Chris',29),(NULL,'Chris',29),(NULL,'Chris',29),
    (NULL,'Chris',29),(NULL,'Chris',29),(NULL,'Chris',29),(NULL,'Chris',29);

Kết quả:

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
|        1 | Chris      |        29 |
|        2 | Chris      |        29 |
... (8 hàng)
+----------+------------+-----------+

Tối ưu thêm: Với dữ liệu rất lớn (hàng triệu hàng), dùng LOAD DATA INFILE hoặc tạm thời disable index/foreign key check.