Khi bạn sử dụng truy vấn không có bộ đệm, điều đó có nghĩa là tập kết quả của bạn đang được truyền trực tuyến từ máy chủ MySQL. Vì vậy, kết nối mà truy vấn (không có bộ đệm) chạy trên đó bận cho đến khi bạn đọc hàng cuối cùng của truy vấn. Trong trường hợp của bạn, kết nối là $MysqlConn
.
(Một truy vấn được đệm chuyển toàn bộ tập kết quả vào RAM của chương trình php của bạn và giải phóng kết nối. Bạn sử dụng các truy vấn không có bộ đệm khi toàn bộ tập kết quả của bạn không vừa với RAM).
Các truy vấn không có bộ đệm nên được đóng một cách rõ ràng khi bạn hoàn thành chúng. Vì vậy, hãy thêm một closeCursor()
gọi
. Như thế này.
while ($row = $ordStat->fetch(PDO::FETCH_ASSOC)) {
$order_ids[] = $row['order_id'];
}
$ordStat->closeCursor();
Cũng không có hại gì khi đóng các truy vấn trong bộ đệm. Đó là một thói quen tốt.