商品数が増えても一覧を重くしないために見直したこと
商品が数件のときは気にならなくても、管理対象が増えると一覧を開くたびに待ち時間が伸びることがあります。表示項目を減らすのではなく、必要な情報をまとめて取得し、同じ計算を何度も行わない形へ見直しました。
SECTION 01
一覧を開く前に全IDを展開しない
反映待ちや売り切れなどの対象を探すとき、該当する商品IDをいったんすべてアプリ側へ読み込むと、件数に比例してメモリと処理時間が増えます。
対象条件をデータベース側へ渡し、必要な商品だけを絞り込む形にすると、大きな中間リストを作らずに済みます。
SECTION 02
一覧に必要な価格をまとめて用意する
商品ごとに最新価格を別々に問い合わせると、表示件数が増えるほど問い合わせ回数も増えます。
一覧取得時に、保存価格、最新取得価格、紐付け時価格など必要な候補をまとめて用意し、表示処理では優先順位に沿って選ぶようにします。
FLOW
一覧を軽くする3つの工夫
絞り込み
必要な商品だけをデータベースで選びます。
まとめて取得
価格や紐付け情報を先に揃えます。
計算を再利用
同じ商品の利益計算を繰り返しません。
SECTION 03
同じ商品の計算結果を使い回す
一覧では、販売価格、手数料、利益など、同じ元データから複数の項目を表示します。各項目で計算をやり直すと、同じ商品に同じ処理を何度も行います。
一度計算した結果を同じ表示処理の中で再利用し、紐付け情報も商品ごとに一度だけ組み立てることで無駄を減らします。
SECTION 04
速さだけでなく、以前と同じ結果か確認する
高速化で怖いのは、表示が速くなっても対象商品が抜けることです。変更前の抽出結果と新しい抽出結果を比較し、同じ商品が各タブへ入ることを確認します。
処理時間だけでなく、反映待ち、要確認、売り切れなどの分類が変わっていないことをテストしてから反映します。
QUESTIONS
よくある質問
記事の内容に関連して、検索されやすい疑問を短く整理します。
Q1商品数が増えると必ず一覧は遅くなりますか?
データ量の影響はありますが、必要な情報だけを絞り込み、まとめて取得し、計算を再利用することで増加の影響を抑えられます。
Q2高速化で表示内容が変わることはありませんか?
抽出方法を変える場合は、変更前後で同じ商品が表示されるかを比較し、タブ分類や利益計算の回帰テストを行います。
RELATED ARTICLES