写真、説明、その他の情報を含む結果のリストを顧客に表示する Web アプリケーション プロジェクトに取り組んでいます。結果の表示を担当するルーチンを最適化したい。
合計 200 件の結果 (製品) があるとします。それらのそれぞれに対して関数が呼び出され (DisplayResults と呼びましょう)、画像、説明、およびその他のものを取得します。
DisplayResults は現在 foreach ループ内にあるため、既に述べたように、結果ごとに新しい関数呼び出しがあります。
質問したいのですが、このシーケンスを最適化するにはどうすればよいですか? 表示に必要なすべての情報を foreach ループの外側の関数で (すべての結果を一度に) 取得すると、違いが見られますか?
前もって感謝します
編集:私はすでにページネーションを使用しています。データはすでにデータベースから取得され、配列に格納されているため、この時点で SQL の最適化は必要ありません。私の意見では...
編集 #2: foreach ループは次のようになります。
foreach ($total['product_data'] as $product_data) {
$tags['$$searchProductList'] .= DisplayResults($product_data);
}
そして、これは DisplayResults がどのように見えるかです:
function DisplayResults ($data) {
$tags['$$Description'] = substr($data['description'],0,70)." ...";
$tags['$$FeaturesList'] = getFeatures($data['features']);
$tags['$$PhotosList'] = getPhotos($data['photos']);
$tags['$$Offers'] = getOffers($data['offers']);
.
.
.
.
}
$data 変数には、現在の結果のために DB からフェッチされたすべての情報が含まれています。