FeedOptions.EnableLowPrecisionOrderBy属性的作用是什么

时间:2017-10-20 11:12:45

标签: azure-cosmosdb

Azure DocumentDB .NET SDK文档查询API提供了按精度降低排序的选项,但确切的预期效果仍然模糊不清。仅documentation states

  

获取或设置在Azure DocumentDB数据库服务中启用低精度顺序的选项。

ORDER BY-clause documentation并未说明有关排序行为的信息,具体取决于FeedOptions,或者有时订购的结果与查询中请求的结果不同。

  • 上述选项实际上做了什么?
  • 使用"低精度"时我们可以期待什么精度?
  • 除了"低精度"?
  • 之外,我们能断言实际的订单是什么?

1 个答案:

答案 0 :(得分:2)

Azure Cosmos DB支持改变索引的精度,以减少索引的存储空间(默认为完全精度)。例如,如果数字精度为5,则服务将索引数字的前5个字节。

默认情况下,不允许对精度较低的属性进行排序。但您可以通过设置EnableLowPrecisionOrderBy来选择执行ORDER BY。我们假设您选择数字精度为5(对于8字节数字)。查询结果将根据数字的最重要的5个字节按顺序排列,但保证其余3个字节没有顺序。此选项允许您执行快速订单,而无需完全精确的索引,例如,当您执行ad-hoc数据探索时。

对于大多数用例,您应该使用默认精度,而不必依赖于精度较低的顺序。