SQLで特定のキーワードの高速テーブル列を検索する方法について質問があります。
私は3つのテーブルを持っています。
例
Table 1 has Makes
MakeID MakeName
Table 2 has Models
ModelID MakeID ModelName
Table 3 has Cars and Relationship to Table 1 and Table 2
CarID MakeID ModelID
アイデアは、エンドユーザーが「ホンダ」のような検索フィールドにキーワードを入力することです。また、MakeNameとModelNameにhondaという単語が含まれている表3のすべての車を返す必要があります。
What I do is I select from Table 3 and join on Table 1 and Table 2 Where clause MakeName or ModelName like '%' + keyword + '%', also tables have indexes.
それが最も効率的な方法かどうかはわかりません。表3には30万台の車が含まれているため、すべての表を検索するには時間がかかります。
検索を高速化する方法はありますか?どんなアイデアでも検索を改善することは高く評価されています。たぶん、情報を部分的に(検索によって返されたデータのみ)別のテーブルにミラーリングし、メインテーブルの代わりにクエリしますか?