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

Phần mở rộng PDO của PHP7 có đọc toàn bộ kết quả được đặt vào bộ nhớ không?

Nó không liên quan trực tiếp đến PHP7. Vấn đề là do mysqlnd mới trình điều khiển, vì vậy bạn có thể gặp vấn đề tương tự ngay cả với PHP 5.x. Nó thực sự là một bản sửa lỗi, vì ngay cả trước khi bộ nhớ vẫn được cấp phát, nhưng nó không được tính vào memory_limit .

Để tránh sự cố bộ nhớ, bạn phải sử dụng truy vấn không có bộ đệm cho các tập kết quả lớn.

Vì vậy, đối với truy vấn mong đợi một tập dữ liệu lớn, hãy đặt cài đặt thích hợp như sau:

$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

Để đọc thêm, tôi đã có giải thích phù hợp trong hướng dẫn PDO của tôi , cảm ơn Nikic, người có phản hồi quan trọng là vô giá.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn tất cả các bản ghi từ một bảng không tồn tại trong bảng khác trong Laravel 5.1

  2. Cơ sở dữ liệu MySQL của tôi bị hỏng ... Tôi phải làm gì bây giờ?

  3. Hoạt động không được phép sau khi ResultSet đóng (mysql, java)

  4. Làm cách nào để biết truy vấn Perl DBI trả về bao nhiêu hàng?

  5. Chạy truy vấn MySQL trên máy từ xa thông qua ssh trong dòng lệnh