替代匹配...反对全文

时间:2018-01-29 22:38:34

标签: mysql full-text-search

上一个问题是基于搜索结果,我得到了使用FULL-TEXT的响应。

现在的问题是,如何以不同的方式编写它,而不是使用FULL-TEXT?有可能吗?

http://sqlfiddle.com/#!9/227312/1/0当然也有同样的效果:

1 个答案:

答案 0 :(得分:1)

如果不使用某种全文索引,在文本中搜索单词将导致表扫描。

SELECT keywords FROM topic WHERE keywords LIKE '%Ruby New%';

SELECT keywords FROM topic WHERE keywords RLIKE '[[:<:]]Ruby New[[:>:]]';

这些查询有效,因为它们返回相同的结果。但是,与使用全文索引相比,它们的性能<强>数千倍(或更差)。使用表扫描的性能劣势取决于表的大小。

我做了一个关于此的演示文稿:Full Text Search Throwdown,比较了不同文本搜索解决方案的性能。