Php 将单词列表的前缀与mysql DB匹配
我的目标是避免尝试匹配通配符的查询,因为它比匹配前缀和后跟通配符的查询慢X100倍 对于一个单词来说,这不是问题,但是如果我有一个用逗号分隔的单词列表呢 有没有什么有效的方法可以通过前缀(后面有通配符)而不仅仅是通配符来匹配这些单词Php 将单词列表的前缀与mysql DB匹配,php,mysql,wildcard,string-matching,Php,Mysql,Wildcard,String Matching,我的目标是避免尝试匹配通配符的查询,因为它比匹配前缀和后跟通配符的查询慢X100倍 对于一个单词来说,这不是问题,但是如果我有一个用逗号分隔的单词列表呢 有没有什么有效的方法可以通过前缀(后面有通配符)而不仅仅是通配符来匹配这些单词 我的意思是,在这种情况下,有没有办法避免像%word%这样的匹配模式?假定列表中有索引。否则,前缀匹配与非前缀匹配时,like的性能不应慢100倍。是的,稍微慢一点。但大部分工作应该是从页面读取数据 如果您有一个用逗号分隔的单词列表,那么您的数据结构是错误的。您需要
我的意思是,在这种情况下,有没有办法避免像%word%这样的匹配模式?假定列表中有索引。否则,前缀匹配与非前缀匹配时,
like
的性能不应慢100倍。是的,稍微慢一点。但大部分工作应该是从页面读取数据
如果您有一个用逗号分隔的单词列表,那么您的数据结构是错误的。您需要引入一个新表,其中包含一个id和每个单词
一旦数据被正确地规范化,就可以为查询使用正确的关系结构,而不用像那样使用
来连接表或查找元素。你说得对,我使用的是索引。你的解决方案又是对的。我会在9分钟内接受你的回答:)