Azure cosmosdb FeedOptions.EnableLowPrecisionOrderBy属性的效果如何

Azure cosmosdb FeedOptions.EnableLowPrecisionOrderBy属性的效果如何,azure-cosmosdb,Azure Cosmosdb,Azure DocumentDB.NET SDK文档查询API提供了按精度减少订单的选项,但确切的预期效果仍然不明确。唯一的问题是: 获取或设置在Azure DocumentDB数据库服务中启用低精度order by的选项 根据FeedOptions或结果的顺序有时与查询中请求的顺序不同,没有说明排序行为 提到的选项实际上是做什么的 当使用“低精度”时,我们可以期望什么精度 对于超出“低精度”的实际顺序,我们能断言什么 Azure Cosmos DB支持改变索引的精度,以减少索引的存储空间(默

Azure DocumentDB.NET SDK文档查询API提供了按精度减少订单的选项,但确切的预期效果仍然不明确。唯一的问题是:

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

根据
FeedOptions
或结果的顺序有时与查询中请求的顺序不同,没有说明排序行为

  • 提到的选项实际上是做什么的
  • 当使用“低精度”时,我们可以期望什么精度
  • 对于超出“低精度”的实际顺序,我们能断言什么

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

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

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


编辑:现在不推荐使用这种方法,默认情况下,索引是最大精度

是有意义的,但按非索引属性排序时(即席搜索)会怎么样?是否默认为更安全的全精度搜索(忽略该选项)或更快的0精度搜索(忽略排序依据)?我们不支持对非索引属性排序。您将得到一个错误,路径必须被索引。