2012-03-13 11 views
1

私はサイトを運営しており、私のコレクションには4.5百万件の文書があります。どんな文書にも別のフィールドを追加する必要があります.450万人に10個の異なる文字列があります。 文字列は "Apache 2.0 using E"のようになります。シーケンス番号で検索すると文字列を検索するよりも速くなりますか?

すべてのドキュメントを見つける必要があります。たとえば、このフィールドに "Apache 2.0 using E"と入力する必要があります。だから、私はこの文字列で検索すべきですか、または私はすべての文字列のための別のコレクションを作成する必要があります、フィールドのIDで私の4.5ミルコレクションの検索よりも?確かにインデックスを使用しますが、シーケンス番号で検索すると文字列を検索するよりも速くなりますか?

ありがとうございました。

答えて

2

全体的に、数値の等価性の検索はおそらく文字列の比較よりも速く、検索される文書のサイズが小さくなるために役立ちます。パフォーマンスが文字列と整数の比較を矮小化するいくつかの要因(たとえば、ドキュメントのサイズの増加がRAMの内容にどのような影響を与えるかなど)によって影響を受けるため、スピードの向上が重要かどうかは言い難い各リクエストの文字列に対する別のクエリは遅くなります。

インデックスはと多く、となります。

関連する問題