0

我的目标是避免尝试匹配通配符的查询,因为它比匹配前缀和后跟通配符的查询慢 X100 倍。

对于一个单词来说这不是问题,但是如果我有一个用逗号分隔的单词列表怎么办?

是否有任何有效的方法可以通过前缀(后面带有通配符)而不是仅通过通配符来匹配这些单词?

我的意思是在这种情况下有什么方法可以避免像 %word% 这样的匹配模式?

4

1 回答 1

2

假设您在列表中有一个索引。否则,like与非前缀匹配相比,前缀匹配的性能不应慢 100 倍。是的,有点慢。但大部分工作应该是从页面中读取数据。

如果你有一个用逗号分隔的单词列表,那么你的数据结构是错误的。您需要引入一个带有 id 和每个单词的新表。

一旦您对数据进行了适当的规范化,您就可以为查询使用适当的关系构造,而无需使用like连接表或查找元素。

于 2013-04-23T18:34:23.657 回答