2010-08-12 58 views
2

我正试图为一个带有几个字段的MySQL数据库实现一个非常快速的搜索引擎。什么是在MySQL中进行多字段搜索的最快方式?

这个问题依赖于我需要将一个值(关键字)与几个字段相匹配的事实,例如%like方法。

我不介意相关性(订单是固定的),只是表现。查询非常复杂(多个JOINS,每个查询3或4个表)。

起初我想到了MATCH ...反对,但我认为制作这么多FULLTEXT索引不是一个好主意。也许用PHP生成的或LIKE%值%,但是......它真的很有效吗?

任何想法?

+0

LIKE肯定会花费大量的时间 – nik 2010-08-12 10:44:53

回答

2

A FULLTEXT索引 - 可能只是一个跨越你要查询的所有列 - 可能是你最好的选择。我想象一下,mySQL能够在这方面应用更好的优化,而且速度更快,而不是过多的陈述。

+0

是否适用于多个表?我的意思是,5或6个字段位于同一个表中,但是从外部表中取得了几个字段,我也需要在这些字段中查找。 谢谢! – Arthur 2010-08-12 12:27:08

+0

@Arthur nope,我不认为你可以让索引扩展到多个表格。 – 2010-08-12 12:29:02

+0

Ops,很抱歉听到这个消息。我应该回到%%吗? 我对此非常沮丧...... – Arthur 2010-08-12 12:32:00

相关问题