2009-08-20 10 views
0

:(「someB」)に対する結果は(「someA」)に対する条件一致(フィールド1)によって返された場合はMySQLのフルテキストパフォーマンスのソリューション

select ... from ... where match(field1) against('someA') and match(field2) against('someB') limit 50 

&マッチ(フィールド2)は両方とも巨大ですクエリ全体が非常に遅くなります。

これに対する解決策はありますか?

答えて

0

おそらくSphinxは、この問題を効率的に解決します。 Sphinxは強力な全文検索機能を提供します。私はそれがあなたがやろうとしていることなのかどうかは分かりませんが、それは近いと思います。

1

field1field2の2つの列に対して別のFULLTEXTインデックスを作成することができます。その後で一度に両方の検索用語を検索:もちろん

MATCH(field1, field2) AGAINST ('+someA +someB') IN BOOLEAN MODE 

、これはfield1は、両方の検索語が含まれている行を見つけることができる、とfield2はどちらも含まれていません。私はあなたのアプリの正確な要件についてはわかりません。

関連する問題