我正试图为一个带有几个字段的MySQL数据库实现一个非常快速的搜索引擎。什么是在MySQL中进行多字段搜索的最快方式?
这个问题依赖于我需要将一个值(关键字)与几个字段相匹配的事实,例如%like方法。
我不介意相关性(订单是固定的),只是表现。查询非常复杂(多个JOINS,每个查询3或4个表)。
起初我想到了MATCH ...反对,但我认为制作这么多FULLTEXT索引不是一个好主意。也许用PHP生成的或LIKE%值%,但是......它真的很有效吗?
任何想法?
我正试图为一个带有几个字段的MySQL数据库实现一个非常快速的搜索引擎。什么是在MySQL中进行多字段搜索的最快方式?
这个问题依赖于我需要将一个值(关键字)与几个字段相匹配的事实,例如%like方法。
我不介意相关性(订单是固定的),只是表现。查询非常复杂(多个JOINS,每个查询3或4个表)。
起初我想到了MATCH ...反对,但我认为制作这么多FULLTEXT索引不是一个好主意。也许用PHP生成的或LIKE%值%,但是......它真的很有效吗?
任何想法?
A FULLTEXT
索引 - 可能只是一个跨越你要查询的所有列 - 可能是你最好的选择。我想象一下,mySQL能够在这方面应用更好的优化,而且速度更快,而不是过多的陈述。
LIKE肯定会花费大量的时间 – nik 2010-08-12 10:44:53