Azure cosmosdb cosmos db sql api datetimepart函数

Azure cosmosdb cosmos db sql api datetimepart函数,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我的cosmos db以每分钟的时间间隔存储数据,我想根据开始日期和结束日期使用不同的时间间隔进行查询。 但是当使用DateTimePart函数时,RU急剧增加。 如果没有datetimepart函数,一个月的数据是184,如果我添加datetimepart函数,它会跳到6000 我尝试过这样的查询: SELECT c.config,c.datetime FROM c where c.config='DBM' and c.datetime >='2021-04-21T07:02:16'

我的cosmos db以每分钟的时间间隔存储数据,我想根据开始日期和结束日期使用不同的时间间隔进行查询。 但是当使用DateTimePart函数时,RU急剧增加。 如果没有datetimepart函数,一个月的数据是184,如果我添加datetimepart函数,它会跳到6000

我尝试过这样的查询:

SELECT c.config,c.datetime
FROM c where c.config='DBM'  and c.datetime >='2021-04-21T07:02:16' 
and c.datetime <='2021-05-21T07:02:16' and (DateTimePart('minute' , c.body.metadata.datetime) % 60) = 0
选择c.config,c.datetime
从c开始,其中c.config='DBM'和c.datetime>='2021-04-21T07:02:16'

和c.datetime对于常见和昂贵的查询,在模型中加入额外的派生字段以优化查询成本是有意义的。例如,如果总是查询小时标记上的项目,则可以使用附加属性
minuteOfHour:0
写入这些记录,然后使用更直接的查询:

SELECT c.config,c.datetime
FROM c where c.config='DBM' and c.minuteOfHour = 0 and c.datetime >='2021-04-21T07:02:16' 
and c.datetime <='2021-05-21T07:02:16'
选择c.config,c.datetime
从c开始,其中c.config='DBM'和c.minuteOfHour=0,c.datetime>='2021-04-21T07:02:16'
和c.datetime