0

現在のプロジェクトでは、 MySQL で sphinxを使用したいと考えています。このデータベースは1000万から2500万のレコードで読み取り専用になるため、データベースエンジンとしてMYISAM

クエリでユニオンまたは結合を使用すると、Sphinx でパフォーマンスの問題が発生するかどうかを知りたい ですか?

私はデータベースを設計しようとしており、ユニオン/ジョインがパフォーマンスの低下を引き起こす場合は、スフィンクスの最適化された設計に進むことができます。

おそらく、すべてのフィールドとデータを含む 1 つの大きなテーブルを作成し、検索するデータに応じてSphinx で個別の INDEXESを作成するようなものです。

私を正しい方向に導いてください。

御時間ありがとうございます。

4

1 に答える 1

1

とにかく、Sphinx は結合を行うことができません。一度に複数のインデックスを検索するだけで、ユニオンを実行できます。

それとも、スフィンクス インデックス (つまり、sql_query 内) を構築するつもりですか? インデクサーは、最初にインデックスを構築するためのクエリのみを実行します。

あなたが言うように、読み取り専用-したがって更新はありません。インデックスは再構築されないため、どれだけ遅いかは問題ではありません。

一般に、スフィンクス インデックスは、フィールドの数に関係なく、非常によく似たパフォーマンスを発揮します。したがって、異なるインデックスに分割する必要はありません。多目的インデックスを 1 つだけ用意します (可能な場合)。

ただし、インデックスをビットに分割できるため、パフォーマンスが問題になる場合は複数のサーバーに分散できます。

于 2013-10-13T04:30:02.970 に答える