我正在尝试为具有多个字段的MySQL数据库实现一个非常快速的搜索引擎。
问题依赖于我需要将值(关键字)与多个字段匹配,这与%like%方法相同。
我不介意相关性(订单是固定的),只是性能。查询非常复杂(lotta JOINS,每个查询3或4个表)。
起初我想到了 MATCH ... AGAINST ,但我不认为制作这么多FULLTEXT索引是个好主意。也许使用PHP生成的或LIKE%value%,但......真的很高效吗?
有什么想法吗?
答案 0 :(得分:2)
FULLTEXT
索引 - 可能只是跨越您将查询的所有列的索引 - 可能是您最好的选择。我想mySQL能够对此进行更好的优化,并且比过多的OR x LIKE y
语句更快。