我在stackoverflow上找过这个问题,但没有找到真正的好答案。在大型MySQL数据集中搜索部分单词的最佳方法
我有有关特定产品的信息几张桌子MySQL数据库。当最终用户在我的应用程序中使用搜索功能时,它应搜索特定列中的所有表。
由于加入并在不执行得很好很多where子句中,我创建了一个存储过程,其将这些表和列中的所有单个单词起来,将它们插入表。这是'word'和'productID'的组合。 此表包含超过330万条记录。
此刻,我可以搜索我是否匹配整个单词或单词(如“搜索关键词%”)的开始相当快。这很明显,因为它现在使用索引。
然而,我的客户希望对部分字(LIKE '%搜索关键词%')进行搜索。这根本没有执行。此外FULLTEXT搜索不是选项,因为它只能搜索一个单词的开头,后面带有通配符。
那么,什么是像这样的搜索功能的最佳做法是什么?
有真正优化LIKE与SQL查询的领先通配符搜索没有什么好办法。 –