消除MySQL查询中的LIKE

时间:2016-03-04 07:05:29

标签: php mysql performance indexing

我需要一个建议。我有一张充满文字的大桌子(低矮的)。每行包含“id”(自动增量int)和“word”(varchar(100))。我正在寻找更快的方法来搜索可能包含给定子字符串的单词的所有ID。我当前的查询如下所示:

select id from `words` where `word` like '%substring%'

有没有办法将此表转换为可用于按索引搜索而不是“喜欢”的表集?

我唯一的想法是将每个单词放到子串集中,例如“mysql”可以分解为“my”,“mys”,“mysq”,“mysql”,“ysql”,“sql”,“ ql“,”ys“,”sq“等。但是这样我就进入了一个非常大的桌子。

0 个答案:

没有答案