以前に質問されたことがありますが、似たようなものを探してみましたが、何も見つかりませんでした。
私は3つのテーブルを持っています:users、hobbies、user_hobbies(最初の2つをリンクしています)。趣味に基づいて2人のユーザーの類似度を計算したいと思います。このためには、まず、ユーザーAの趣味とユーザーBの趣味の2つのセットが必要です。これらは、2つの簡単なクエリで取得できます。これらの2つのセットは、他の理由でもphpファイルで計算する必要があるため、次のステップで2つの配列で使用できます。
私は彼らの一般的な趣味(つまり、セットの共通部分)を計算する必要があります。
アイデア#1:2つの配列があるので、いくつかの方法で共通の要素を計算できます。
アイデア#2:3番目のクエリ(例SELECT hobby FROM user_hobbies WHERE user_id IN ('uid_A', 'uid_B') GROUP BY hobby HAVING COUNT (*) = 2
)を作成できますが、気にする必要はありません。
私の質問はパフォーマンスについてだと思います。手動で計算する方が速いですか、それともmysqlクエリははるかに速いですか?