1500 以上のオンライン ゲームのデータを含む SQL テーブルがあります。これらの各ゲームには、それらを説明するタグがあります (ゲームごとに 1 ~ 5 個のタグ)。たとえば、このゲームには、「ダート バイク」、「レーシング」、「スタント」、「トライアル」、「マウンテン」というタグが重要な順に含まれています。これらのゲームのそれぞれについて、最も関連性の高い 12 のゲームを選択したいと思います。
各タグに「重要度」の重みを付けることを考えていました。
タグ 1 = 5 ポイント
タグ 2 = 4 ポイント
タグ 3 = 3 ポイント
タグ 4 = 2 ポイント
タグ 5 = 1 ポイント
そして、一致するタグを掛けます。したがって、別のゲームが「車」、「レーシング」、「山」に関するものである場合、0 + (4 x 4) + (3 x 1) = 19pts になります。次に、すべてのゲームの結果を比較し、最も多くのポイントを持つ 12 を表示します。
PHP を使用して数学的比較部分をコーディングする方法は知っていますが、上位 12 試合のみを表示する前に、部分的な結果 (つまり、1500 ごとの比較ポイント) を効率的に保存する方法がわかりません。一時的な 1500 の結果を格納するテーブルを作成する必要がありますか? または、これらの結果をメモリに保存して、上位 12 のみを取得する方法はありますか?
注: おそらく最終結果を 1500x12 の SQL テーブルに保存し、新しいゲームを追加するときだけ (1 日 1 回程度) 比較を実行します。