2

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 回程度) 比較を実行します。

4

3 に答える 3