Làm cách nào để chèn ví dụ 100 000 hàng vào bảng MySQL bằng một truy vấn?Làm cách nào để chèn một số lượng lớn các hàng trong MySQL?
Trả lời
Bạn không thể theo như tôi biết. Bạn sẽ cần một vòng lặp.
Bạn có thể thực hiện chèn hàng loạt với câu lệnh INSERT, nhưng truy vấn của bạn không được lớn hơn (nhỏ hơn một chút) max_allowed_packet.
Đối với 100 nghìn hàng, tùy thuộc vào kích thước của các hàng, có thể bạn sẽ vượt quá mức này.
Một cách là chia nhỏ thành nhiều phần. Đây có lẽ là một ý tưởng hay.
Hoặc bạn có thể sử dụng LOAD DATA INFILE (hoặc LOAD DATA LOCAL INFILE) để tải từ tệp được phân tách bằng tab (hoặc phân cách khác). Xem tài liệu để biết chi tiết.
LOẠI DỮ LIỆU không phải tuân theo giới hạn max_allowed_packet.
insert into $table values (1, a, b), (2, c, d), (3, e, f);
Điều đó sẽ thực hiện chèn 3 hàng. Tiếp tục khi cần thiết để tiếp cận 100.000. Tôi làm khối ~ 1.000 theo cách đó khi thực hiện công việc ETL.
Nếu dữ liệu của bạn tĩnh trong một tệp, hãy chuyển đổi và sử dụng tải dữ liệu infile sẽ là phương pháp tốt nhất, nhưng tôi đoán bạn đang hỏi điều này vì bạn làm điều tương tự.
Cũng lưu ý những gì người khác đã nói về kích thước max_allowed_packet giới hạn độ dài truy vấn của bạn.
Hãy thử sử dụng LoadFile() hoặc Chuyển đổi dữ liệu yor thành tệp XML và sau đó sử dụng chức năng tải và trích xuất() để tải dữ liệu vào cơ sở dữ liệu MySQL.
Đây là một truy vấn và lựa chọn nhanh nhất,
Thậm chí tôi đang làm cùng, tôi đã có file nếu 1,5 GB xung quanh hàng triệu hàng. Tôi đã sử dụng cả hai tùy chọn trong trường hợp của tôi.
- 1. Python + MySQL - Chèn số lượng lớn
- 2. Hibernate/MySQL Chèn số lượng lớn
- 3. Cách chèn số lượng lớn vào MySQL bằng C#
- 4. Chèn số lượng lớn không chèn bất kỳ hàng nào
- 5. Làm thế nào để làm một số lượng lớn chèn trong mySQL sử dụng Node.js
- 6. là SSIS chèn số lượng lớn giống như một SỐ LƯỢNG LỚN Chèn
- 7. oracle số lượng lớn chèn
- 8. SQLBulkCopy hoặc Chèn số lượng lớn
- 9. Chèn số lượng lớn với Spring/Hibernate
- 10. chèn số lượng lớn từ Java vào Oracle
- 11. Tăng tốc số lượng lớn các cập nhật mysql và chèn
- 12. Vấn đề với số lượng lớn chèn
- 13. Làm cách nào để xử lý bảng lớn trong MySQL?
- 14. Làm cách nào để chèn nhiều hàng vào bảng MySQL và trả về các ID mới?
- 15. sử dụng RavenDB để chèn số lượng lớn dữ liệu
- 16. làm động một số lượng lớn các hàng/phần trong UITableView hiệu suất kém
- 17. Xóa hàng loạt số lượng tệp lớn
- 18. chèn số lượng lớn với SQLite và CoreData
- 19. số lượng lớn chèn có hoặc không có chỉ số
- 20. Chèn số lượng lớn trên thiết bị Android
- 21. MySQL: Làm thế nào để số lượng lớn CHỌN hàng với nhiều cặp trong mệnh đề WHERE
- 22. Chèn số lượng lớn MS-SQL với RODBC
- 23. cách AND và một số lượng lớn các mảng số?
- 24. mysql chèn số lượng lớn - tôi có thể sử dụng mệnh đề bỏ qua không? có giới hạn không. của hồ sơ cho chèn số lượng lớn?
- 25. chèn số lượng lớn với LINQ-to-sql
- 26. Chèn số lượng lớn vào Oracle bằng cách sử dụng .NET
- 27. Chèn số lượng lớn với thông số tên tệp
- 28. Khuôn khổ thực thể .NET Chèn và chèn số lượng lớn
- 29. Giao dịch Chèn số lượng lớn của Máy chủ SQL?
- 30. cư một MySQL với một loạt lớn các hàng một cách nhanh chóng
Câu hỏi rõ ràng là "từ cái gì?". Nếu câu trả lời là từ bộ nhớ, sau đó bắt đầu gõ một tập tin SQL rất cẩn thận. Nếu không, hãy sử dụng ngôn ngữ và môi trường thích hợp. –