Thật khó để đưa ra câu trả lời cụ thể mà không nhìn thấy mã cụ thể của bạn. Điều đó đang được nói, cấu trúc dữ liệu PHP như mảng là liên kết. Các nhà thiết kế PHP đã cố tình đánh đổi để sử dụng thêm RAM để tiết kiệm thời gian truy cập mảng.
Bạn có thể tiết kiệm bộ nhớ theo một số cách. Đối với một điều, bạn có thể tìm nạp từng hàng trong tập hợp kết quả của mình dưới dạng số, thay vì một mảng kết hợp. Đọc này. http://php.net/manual/en/mysqli-result .fetch-array.php
Đối với một điều khác, PHP slurps tất cả các hàng trong tập hợp kết quả của bạn cùng một lúc trừ khi bạn yêu cầu nó không làm như vậy. Thao tác slurp này tiêu tốn rất nhiều RAM. Bạn không cần điều đó nếu định xử lý kết quả lớn của mình, hãy đặt từng hàng một. Bạn cần một truy vấn không có bộ đệm Để làm việc đó. Đọc phần này: http://php.net/manual/en/mysqlinfo. concept.buffering.php