如果你的目标是测试一个字符串是否存在于MySQL列('varchar','text','blob'等类型)中,以下哪个更快/更有效/更好使用,为什么?
或者,是否有其他方法超过其中任何一个?
INSTR( columnname, 'mystring' ) > 0
Run Code Online (Sandbox Code Playgroud)
VS
columnname LIKE '%mystring%'
Run Code Online (Sandbox Code Playgroud) 在没有扫描整个表的情况下,MySQL中是否有任何内置功能可以执行上述操作?
我找到的唯一解决方案是存储我想要比较的列的镜像版本并执行like 'txet%'.
我也没有看到绕过postfix-search的方法.这是一本德语词典.许多单词都有带前缀的版本,例如用户搜索"Gericht"(Engl.curt),但知道有一个单词"Amtsgericht"(英语区域缩写)也很有价值.不幸的是,在德语中通常没有空格分隔单词的两个部分.大约15%的查询实际上使用前缀搜索.