Có một số cách để tối ưu hóa số lượng chèn hàng loạt. Một số là:
-
LOAD DATA INFILE
. Có một API trình bao bọc cho. NET . Đây là cách nhanh nhất, nhưng có một số hạn chế và khác biệt về ngữ nghĩa so với các cách chèn đơn giản. -
Nhiều hàng
INSERT
tuyên bố:INSERT INTO temperature (temperature) VALUES (1.0), (2.0), (3.0), ...
Bạn không nên chèn 20.000.000 hàng cùng một lúc, nhưng có thể thử 1.000-10.000 để tăng tốc rất lớn. Đây là một cách đơn giản và không có vấn đề gì để tăng tốc độ. Thường có thể có hệ số 10 và đôi khi nhiều hơn.
-
Khóa bảng (
LOCK TABLES
). -
Tạm thời vô hiệu hóa các chỉ mục.
-
Điều chỉnh các tùy chọn MySQL.
-
INSERT DELAYED
(rất có thể không hữu ích ở đây).
Tài liệu cung cấp cho bạn chi tiết phức tạp hơn trên các tùy chọn. Một số tùy chọn phụ thuộc vào loại bảng ( InnoDB so với MyISAM ).
Đề xuất chung:Luôn chỉ định các cột mà bạn chèn vào trước VALUES
. Điều này làm cho mã dễ bảo trì hơn.