上一个问题是基于搜索结果,我得到了使用FULL-TEXT的响应。
现在的问题是,如何以不同的方式编写它,而不是使用FULL-TEXT?有可能吗?
http://sqlfiddle.com/#!9/227312/1/0当然也有同样的效果:
答案 0 :(得分:1)
如果不使用某种全文索引,在文本中搜索单词将导致表扫描。
SELECT keywords FROM topic WHERE keywords LIKE '%Ruby New%';
或
SELECT keywords FROM topic WHERE keywords RLIKE '[[:<:]]Ruby New[[:>:]]';
这些查询有效,因为它们返回相同的结果。但是,与使用全文索引相比,它们的性能<强>数千倍(或更差)。使用表扫描的性能劣势取决于表的大小。
我做了一个关于此的演示文稿:Full Text Search Throwdown,比较了不同文本搜索解决方案的性能。