2010-08-12 31 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

相關問題