私の質問は、大量のデータを繰り返し使用することに関するものです。
単一のphpページの実行中に繰り返し相互参照する必要がある約50MBのデータがあります。このタスクは、テーブル結合で SQL クエリを使用することによって最も簡単に解決できます。問題は、非常に短い時間で処理する必要がある大量のデータと、それを行うために必要なクエリの数です。
私が現在行っているのは、各テーブルの関連部分 (通常は 30% または 10,000 行を超える) を配列にダンプしてループすることです。テーブルの結合は常に 1 つのフィールドで行われるため、関連する行を識別するために、並べ替えの非常に基本的な「インデックス」を作成しました。
システムは動作します。私のプロダクション環境で 1 年以上使用されていますが、今はさらにパフォーマンスを絞り込もうとしています。私がプロファイリングしている特定のページで、2 番目に長い合計時間は、これらの配列をループする増分行に起因します。ヒット数は 130 万で、合計実行時間は 30 秒です。これは、同じ結果を得るために約 8200 回の SQL クエリによって実行されたであろう作業を表しています。
私が探しているのは、このような状況を経験した他の人です。私は、PHP で処理する必要のある大量のデータを持っている最初の人に近いとは信じられません。
ありがとう!
ここでアドバイスをくださった皆様、本当にありがとうございました。私が望んでいたように、ここには本当にわずかな弾丸がないようです。私が最終的にやろうとしているのは、mysqlメモリテーブルとページ化されたmemcacheのいくつかのバージョンを組み合わせて使用 することだと思います.