2017-10-20 14 views
0

Azure DocumentDB .NET SDKドキュメントクエリーAPIは、精度で順序を減らすオプションを提供しますが、正確な期待エフェクトはあいまいです。 documentation statesのみ:FeedOptions.EnableLowPrecisionOrderByプロパティの影響

Azure DocumentDBデータベースサービスで低精度注文を有効にするオプションを取得または設定します。

ORDER BY-clause documentationFeedOptionsまたはクエリで要求されたよりも、時には違っ注文された結果に応じて、行動の注文についての単語を言っていません。

  • 上記のオプションは実際に何をしていますか?
  • 「低精度」を使用する場合、どの精度が期待できますか?
  • "低精度"を超えて実際の注文について何を主張することができますか?

答えて

1

Azure Cosmos DBでは、インデックスの精度を変更してインデックス作成のストレージフットプリントを減らすことができます(デフォルトは完全精度)。たとえば、数値の精度が5の場合、サービスはユーザーの番号の最初の5バイトをインデックスします。

デフォルトでは、精度の低いプロパティの並べ替えは禁止されています。しかし、EnableLowPrecisionOrderByを設定してORDER BYを実行するようにオプトインすることができます。数値精度が5(8バイト数の場合)を選択したとしましょう。クエリ結果は、数字の最上位5バイトに基づいて順番になりますが、残りの3バイトは順序が保証されません。このオプションを使用すると、たとえばデータのアドホック探索を実行しているときなど、完全精度のインデックス作成を必要とせずに、高速オーダーを実行できます。

ほとんどの使用例では、デフォルトの精度を使用する必要があります。低精度の順序に依存する必要はありません。

+0

意味がありますが、索引付けされていないプロパティ(特別な除外)で注文するとどうなりますか?完全精度検索をより安全にする(オプションを無視する)か、より速い0プレシジョン検索(順序を無視する)をデフォルトにしますか? –

+0

インデックスされていないプロパティでの注文はサポートしていません。パスにインデックスを付ける必要があるというエラーが表示されます。 –

関連する問題