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

Làm cách nào để xuất hàng triệu hàng từ MySQL sang CSV thông qua PHP mà không làm cạn bộ nhớ?

Thay vì cố gắng xây dựng cây đối tượng, bạn có thể trực tiếp thử chọn kết quả vào một tệp: http://dev.mysql.com/doc/refman/5.7/en/select.html

Một cái gì đó giống như

SELECT * INTO OUTFILE "c:/temp/mycsv.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM theTable;

Điều này sẽ để lại công việc cho mysql và bỏ qua mọi giới hạn bộ nhớ php.

Như venca đã lưu ý:Trong trường hợp này, người dùng mà bạn đang chạy dịch vụ mysql cần quyền ghi vào thư mục được đề cập.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao điều kiện IN lại chậm hơn =trong sql?

  2. 2017 @ Somenines:Kỷ niệm những câu chuyện của khách hàng của chúng tôi

  3. MySQL Workbench nhanh hơn nhiều so với Python cho cùng một truy vấn

  4. Cách lưu chữ ký trong MySQL

  5. Làm thế nào để hiển thị cơ sở dữ liệu MySQL trên một tập lệnh PHP?