2011-12-23 9 views
1

インデックスの一部を縮小して使用しません。その代わりに、私はMapインデックスクエリのWhere節を使用します。これらの2つのアプローチの違いは何ですか:Map-Reduceインデックスの一部を減らすか、またはMapインデックスでWhere句を使用することですか?Map-ReduceインデックスのReduce部分の感覚は何ですか?

私が間違っていると私の推測は、私を修正してください。 Map-Reduce索引の場合は、索引の一部としてデータを保管する必要がなくなり、照会がより効率的になります。しかし、いくつかのドキュメントタイプに対していくつかのクエリを実行する必要がある場合、Map-Reduceインデックスの代わりに(異なるWhere条件を使用して)1つのMapインデックスを使用する方が効率的です。

答えて

3

Reduceは計算と集計です。マップは、計算/集計のデータを選択しています。通常、where句はマッピングとともに格納されます。

効率的なクエリを早期に作成しようとしているので注意してください。 IMOいくつかの一般的な目的のクエリよりも、多くのコンテキスト固有のクエリを持つ方が良いです。

+0

実際、マップインデックスのケースの90%でwhere句をフィルタリングするべきではありません。クエリ中にフィルタリングを行う必要がありますが、それは高速です。 –

関連する問題