0
我的目标是避免尝试匹配通配符的查询,因为它比查找匹配带有通配符的前缀的查询要慢100倍。用mysql匹配单词列表的前缀
对于一个单词它不是一个问题,但是如果我有用逗号分隔的单词列表呢?
是否有任何有效的方法来匹配这些单词的前缀(跟随通配符),而不是仅通配符?
我的意思是有没有什么办法可以避免这种情况下匹配模式像%word%?
我的目标是避免尝试匹配通配符的查询,因为它比查找匹配带有通配符的前缀的查询要慢100倍。用mysql匹配单词列表的前缀
对于一个单词它不是一个问题,但是如果我有用逗号分隔的单词列表呢?
是否有任何有效的方法来匹配这些单词的前缀(跟随通配符),而不是仅通配符?
我的意思是有没有什么办法可以避免这种情况下匹配模式像%word%?
推定是你在列表上有一个索引。否则,like
的性能不应比使用前缀匹配与非前缀匹配慢100倍。是的,有点慢。但大部分的努力应该是从网页上读取数据。
如果您有用逗号分隔的单词列表,那么您的数据结构错误。你需要引入一个带有id和每个单词的新表。
将数据正确归一化后,可以针对查询使用适当的关系构造,并免除使用like
来连接表或查找元素。
你说得对,我正在使用索引。而且你的解决方案再次合适。我会在9分钟内接受你的回答:) – 2013-04-23 18:37:08