0

I am using thinking_sphinx in Rails. As far as I know, Sphinx is used for full text search. Let's say I have these queries:

keyword
country
sort order

I use Sphinx for all the search above. However, when I am querying without keyword, but just country and sort order only, is it a better to use just normal query in MySQL instead of using Sphinx?

In other words, should Sphinx be used only when keyword is searched?

Looking at overall performance and speed.

4

3 に答える 3

3

卑劣に聞こえるかもしれませんが、パフォーマンスは本当に重要ですか?

組織内の少数のユーザーのみが使用するアプリケーションを構築している場合は、ある方法を使用することによるパフォーマンス上の利点を無視して、代わりにコードの単純さに重点を置くことができます。

一方、interwebz で多数のユーザーがアプリケーションにアクセスし、パフォーマンスを重視する必要がある場合は、上記の@barryhunterのアドバイスとベンチマークに従って、特定の状況での最適なアプローチを決定する必要があります。

PS必要になる前に最適化しないでください。コードを自分のコードから遠ざけるために、心を込めて戦いましょう。

于 2012-05-15T16:00:50.910 に答える
2

基準!基準!基準!

つまり、自分でテストします。正確なパフォーマンスは、正確なデータによって異なり、場合によっては、sphinx サーバーと mysql サーバーの相対的なパフォーマンスによっても異なります。

于 2012-05-12T22:00:18.007 に答える
1

テキスト文字列で検索する場合、Sphinx は MySQL よりも高速であり、数値キーで検索する場合は MySQL の方がおそらく高速です。

そのため、「国」と「ソート順」の両方が MySQL の数値インデックスを使用してインデックス付けできると仮定すると、Sphinx を「キーワード」のみで使用し、他の 2 つの MySQL 通常のクエリを使用することをお勧めします。

ただし、barryhunter が示唆したように、ベンチマークは問題ありません ;)

于 2012-05-15T10:55:57.437 に答える