各試合が 5 対 5 で、各プレイヤーが試合の開始時に固有のキャラクターまたはヒーローを選ぶオンライン ゲームの試合データをデータマイニングしています。
私の最終的な目標は、頻繁にアイテムセットを生成して、どのヒーローの組み合わせが最も人気があり、どの組み合わせがより頻繁に勝つ可能性があるかを判断することです。
ユーザーが相手チームが選んだヒーローと、あなたのチームが現在選んでいるヒーローを入力し、選択するヒーローを推奨する Web ベースのアプリケーションが欲しいです。これらのヒーローは、対戦チームが選択したヒーローとの勝利ゲームでより頻繁に表示されるヒーローになります.
より頻繁にピックされるヒーローは、勝利したゲームでもより頻繁に表示されることを知っています。そのため、ヒーローが各プレイヤーに対してランダムに選択されるゲームモードのヒーローのみを含むトランザクション データベースを使用することがあります。
Matchテーブル、Heroテーブル、および(MatchId、HeroId)の主キーとそのヒーローが勝ったかどうかのboolを含むMatchHeroテーブルを持つMySQLデータベースがあります。このテーブルには現在、約 2600 万のエントリがあります。問題は、レコードの数に応じて、データのフェッチに 3 ~ 14 秒かかることです (ユーザーの選択が少ないほど、フェッチされるレコードが多くなります)。
データのフェッチと計算の実行がWebアプリにとって十分高速である場合に、これを実装できるようにするための最良の設計は何でしょうか? テーブルをメモリに保存しますか? アプリオリですでにまともなパフォーマンスを発揮しているので、実際のアイテムセット生成アルゴリズムについてはあまり心配していません。アイテムセットの頻繁な生成に関連するものを事前に計算できますか? ご協力いただきありがとうございます!