私は、ユーザーがオプションの種類で検索してコンピューターを見つけることができる、かなり単純なシステムを実行しています。ブランド、型式、「オプション」で検索したい。
基本的に、このシナリオには5つのテーブルがあります-
- ブランド
- モデル
- 選択
- options_group
- オプション
選択テーブルは、以下を含む複数列のルックアップ テーブルです。
- brand_id
- モデル ID
- options_group_id
options_group テーブルは、「オプションのグループ」の ID と各 option_id のエントリを持つルックアップ テーブルです。
基本的に、options_group テーブルを使用すると、多数のエントリが複数回保存することなく、同じオプション グループを持つことができます。
右。そう。テーブルを生成する特定のパーツを選択したい:
- ブランド
- モデル
- オプション
ここで、「オプション」は options_group に基づいて生成されます。
私の質問は次のとおりです。最初に選択テーブルからのみ選択し、次に options_group を使用して 2 番目の選択を行い、各行のすべてのオプションを取得する、複数の選択ステートメントでこれを行うか、または結合を行いますか?たくさんの行を持つテーブルを取得しますか?
あなたがそれを提案する前に、SOに関する他の回答がこの正確な質問に答えているとは思いません。
または、それを行うための他のより良い方法はありますか?結合は複数の選択よりも桁違いに速いと読みましたが、最後に解析するには時間がかかる可能性があります。