Sau khi tạo kết nối, bạn cần đặt PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
thành false:
<?php
$pdo = new PDO('mysql:host=127.0.0.1', 'foo', 'bar', array(
PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
));
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
// snip
var_dump(memory_get_usage());
var_dump(memory_get_peak_usage());
Kết quả này:
int(39508)
int(653920)
int(668136)
Bất kể kích thước kết quả là bao nhiêu, việc sử dụng bộ nhớ vẫn khá tĩnh.