PHPとMySQLを使用して、ユーザーに関する多くのプロパティ(DOB、身長、体重など)を格納する必要のあるサイトを構築します。これはかなり単純です(単一のテーブル、多くのプロパティ(ほとんどすべてが必要))。
ただし、システムには、話し言葉や楽器の能力など、他の情報も保存する必要があります。全体として、そのような特性は12を超えています。デフォルトでは、別のテーブル(おそらく言語と呼ばれる)を作成してから、複合ID(user_id、language_id)を持つリンクテーブルを作成することを想定していました。
しかし、私が予想する問題は、訪問者がこれらの基準を使用してユーザーを検索しようとする場合です。使用しようとしているデータセットには、起動時に15,000人を超えるユーザーがいて、主な機能はユーザーの検索と絞り込みです。つまり、毎日数百のクエリがあり、最大で12以上のJOINを含むクエリを使用する可能性は魅力的ではありません。
だから私の質問は、より効率的になる代替案はありますか?私が考えていた1つの方法は、M2M値をIDのCSVとしてユーザーテーブルに保存し、それに対してLIKEクエリを実行することです。LIKEが最高ではないことは知っていますが、参加するよりはましですか?
可能な解決策は大歓迎です。