2012-05-12 10 views
0

私はRailsでthinking_sphinxを使用しています。私が知る限り、スフィンクスは全文検索に使用されています。これらのクエリがあるとします:いつスフィンクス検索を使用するのですか、いつ通常のクエリを使用しますか?

keyword 
country 
sort order 

私は上記すべての検索にスフィンクスを使用しています。しかし、keywordを使用せずにクエリを実行しているときに、countrysort orderのみを使用している場合は、Sphinxを使用する代わりにMySQLで通常のクエリを使用する方が良いでしょうか?

つまり、スフィンクスはkeywordを検索するときにのみ使用する必要がありますか?

全体的なパフォーマンスとスピードを調べます。

答えて

2

ベンチマーク!基準!基準!

あなた自身でテストしてください。正確なパフォーマンスは正確なデータ、おそらくあなたのスフィンクスとmysqlサーバの相対的なパーフォーマンスによって変わります。

1

Sphinxはテキスト文字列で検索するとMySQLに比べてキラー速度が向上し、数字キーで検索するとMySQLが高速になる可能性があります。

したがって、「国」と「並べ替え順」の両方がMySQLの数値インデックスを使用してインデックス付けできると仮定すると、Sphinxを「キーワード」だけで使用し、他の2つはMySQLの通常のクエリで使用する方がよいでしょう。 barryhunterが提案されているよう

しかし、ベンチマークは、傷つけることはありません。)

3

不機嫌な音にはないが、パフォーマンスは本当に問題ありませんか?

組織内の少数のユーザーだけが使用するアプリケーションを構築する場合は、ある方法を他の方法よりも優先させ、コードの単純さに焦点を当てたときのパフォーマンス上の利点を無視できます。一方

、アプリケーションがinterwebz上の多数のユーザによってアクセスされている場合、あなた本当にパフォーマンスであることに焦点を当てる必要があります、そして、あなたが最善のアプローチを決定するためにbarryhunterの上のアドバイスやベンチマーク@従ってください与えられた状況で。

P.S.必要になる前に最適化しないでください。コードをコードから守るために、あなたの心を尽くして戦いましょう。

+0

ハレルヤ!!!!!!!!!! – beck03076

関連する問題