Nó phụ thuộc vào cơ sở dữ liệu bạn đang sử dụng và cấu hình cơ sở dữ liệu của bạn.
Đối với MySQL, bạn cần đảm bảo rằng bạn sử dụng các truy vấn có bộ đệm. Trong PDO, bạn đặt nó như thế này:
$myPdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
Điều này có nghĩa là tất cả dữ liệu sẽ được gửi đến máy khách (không giống như việc tìm nạp tất cả trong PHP).
Phương pháp thay thế khác (có thể tệ hơn) là mở một kết nối cơ sở dữ liệu mới bất cứ khi nào bạn phát hiện ra một truy vấn đang được chạy với một tập kết quả vẫn đang mở.
mysql_query()
bình thường
sử dụng truy vấn có bộ đệm, do đó, truy vấn đó sẽ hoạt động với nhiều tập kết quả.