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

Symfony:Cố định dữ liệu giáo lý:làm thế nào để xử lý tệp csv lớn?

Hai quy tắc cần tuân theo khi bạn tạo nhập hàng loạt lớn như thế này:

  • Tắt tính năng ghi nhật ký SQL:($manager->getConnection()->getConfiguration()->setSQLLogger(null); ) để tránh mất bộ nhớ lớn.

  • Xả và làm sạch thường xuyên thay vì chỉ một lần vào cuối. Tôi khuyên bạn nên thêm if ($i % 25 == 0) { $manager->flush(); $manager->clear() } bên trong vòng lặp của bạn, để xóa mỗi 25 INSERT.

CHỈNH SỬA: Một điều cuối cùng tôi đã quên:không giữ các thực thể của bạn bên trong các biến khi bạn không cần chúng nữa. Ở đây, trong vòng lặp của bạn, bạn chỉ cần thực thể hiện tại đang được xử lý, vì vậy đừng lưu trữ thực thể trước đó trong $coordinatesfrcity mảng. Điều này có thể dẫn đến tình trạng tràn bộ nhớ nếu bạn tiếp tục làm như vậy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kết nối với cơ sở dữ liệu MySQL từ iPhone?

  2. Làm cách nào để thoát dấu gạch dưới trong truy vấn chuỗi ở chế độ ngủ đông và SQL?

  3. Tại sao hàm được lưu trữ trong MySQL này lại cho kết quả khác với việc thực hiện phép tính trong truy vấn?

  4. Viết khung dữ liệu gấu trúc vào MySQL

  5. MYSQL Chèn id từ bảng khác