あなたの特定のコードを見ずに特定の答えを与えるのは難しいです。そうは言っても、配列のようなPHPデータ構造は連想的です。 PHP設計者は、アレイアクセスの時間を節約するために追加のRAMを使用するというトレードオフを意図的に行いました。
いくつかの方法でメモリを節約できます。 1つには、結果セットの各行を連想配列ではなく数値としてフェッチできます。これを読む。 http://php.net/manual/en/mysqli-result .fetch-array.php
別のこととして、PHPは、指示しない限り、結果セットのすべての行を一度に丸呑みします。この丸呑み操作は大量のRAMを消費します。大きな結果セットを一度に1行ずつ処理することを計画している場合は、これは必要ありません。 バッファなしクエリが必要です それをするために。これを読んでください: http://php.net/manual/en/mysqlinfo Concepts.buffering.php