2017-04-22 12 views
1

私は事前にDocumentDBと比較して、DocumentDBのORと比較して、条件が良いと速いですか?

SELECT * FROM m where m.gender=1 
and m.langPref in ('English','hindhi','telugu','french','Albanian','Croatian','latin') 


SELECT * FROM m where m.gender=1 
and m.langPref='English' or m.langPref='hindhi' or m.langPref='telugu' or m.langPref='french' or m.langPref='Albanian' or m.langPref='Croatian' or m.langPref='latin') 

おかげで膨大なコレクションで探していたとき、私は、2つの選択ステートメントのいずれかが条件と別のを持つか、最高与える1状態にである持っています! !

+2

あなたは両方を試しましたか、それぞれのRUコストを見ましたか?かなり簡単に行うことができます(RUコストは結果ヘッダーにあります)。 –

答えて

1

少数の演算子では、どちらの方法でも問題ありません。

多くの演算子では、クエリーオプティマイザの作業が少なくて済むため、INは、確かにDocumentDB(およびほとんどのデータベース)ではORより優れています。

他の人に示唆されているように、RUを測定して、あるものが他のものよりも優れているかどうか、またどれだけどれが良いかを判断できます。

関連する問題