我有一个关于如何在 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
这个想法是最终用户将关键字放在“本田”等搜索字段中。它应该返回表 3 中 MakeName 和 ModelName 包含单词 honda 的所有汽车。
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 包含 300K 辆汽车,所以搜索所有表需要时间。
有没有办法加快搜索速度?任何改进搜索的想法都受到高度赞赏。也许将部分(仅搜索返回的数据)信息镜像到另一个表并查询它而不是主表?