gpt4 book ai didi

azure - 为什么按时间戳(字符串)排序的 Azure Cosmos 查询比按 _ts(内置)排序的成本高得多?

转载 作者:行者123 更新时间:2023-12-01 03:20:27 24 4
gpt4 key购买 nike

此查询花费 265 RU/s:
选择顶部 1 * FROM c
其中 c.CollectPackageId = 'd0613cbb-492b-4464-b66b-3634b5571826'
按 c.StartFetchDateTimeUtc DESC 排序

StartFetchDateTimeUtc 是一个字符串属性,使用 Cosmos API 序列化

此查询花费 5 RU/s:
选择顶部 1 * FROM c
其中 c.CollectPackageId = 'd0613cbb-492b-4464-b66b-3634b5571826'
按 c._ts DESC 排序

_ts 是一个内置字段,一个基于 Unix 的数字时间戳。

示例结果(仅包括此字段和_ts):
"StartFetchDateTimeUtc": "2017-08-08T03:35:04.1654152Z",
“_ts”:1502163306

索引已就位,并遵循如何配置可排序字符串/时间戳的建议和教程。看起来像:
{
"路径": "/StartFetchDateTimeUtc/?",
“索引”:[
{
“种类”:“范围”,
“数据类型”:“字符串”,
“精度”:-1
}
]
}

最佳答案

根据这个article“项目大小、项目属性计数、数据一致性、索引属性、文档索引、查询模式、脚本使用” 变量将影响 RU。

所以很奇怪的是不同的属性(property)花费不同的RU。

我还在我这边创建了一个测试演示(使用您的索引和相同的文档属性)。我已将 1000 条记录插入到 documentdb 中。两个不同的查询花费相同的 RU。我建议你可以开始一个新的集合并再次测试。

结果是这样的:

按 StartFetchDateTimeUtc 排序

enter image description here

按_ts排序

enter image description here

关于azure - 为什么按时间戳(字符串)排序的 Azure Cosmos 查询比按 _ts(内置)排序的成本高得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45562789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com