Azure cosmosdb 在cosmos db中添加日期筛选器未执行

Azure cosmosdb 在cosmos db中添加日期筛选器未执行,azure-cosmosdb,Azure Cosmosdb,我有一个cosmos数据库,目前有4164634个项目。每一个都遵循以下原则: { "id": "b1bd4070-7df3-4e04-a6b2-4284f3e104f6", "jobId": "123", "clientID": 1, "eventDetails": { "Date": "2020-01-16T16:31:45", "Type": "Click",

我有一个cosmos数据库,目前有4164634个项目。每一个都遵循以下原则:

  {
        "id": "b1bd4070-7df3-4e04-a6b2-4284f3e104f6",
        "jobId": "123",
        "clientID": 1,
        "eventDetails": {
            "Date": "2020-01-16T16:31:45",
            "Type": "Click",
            "PageUrl": "some url",
            "IPAddress": "100.100.100.0",
            "Source": "Foo"
        }
    }
如果我在没有日期筛选器的情况下执行查询。e、 g

SELECT DISTINCT c.jobId FROM c 
WHERE c.eventDetails.Source = 'Foo'
俄罗斯的收费相当合理,大约为17卢比。响应时间也相当快,索引查找时间为0.28毫秒

但是,如果我在中添加日期过滤器。e、 g

SELECT DISTINCT c.jobId FROM c 
WHERE c.eventDetails.Source = 'Foo' 
AND (c.eventDetails.Date BETWEEN '2020-02-01' and '2020-02-29')
然后RU电荷上升到12397 RU。它的索引查找时间为19516.1499毫秒,速度也比较慢。尽管第二个结果集要小得多

索引是索引所有内容的默认值,并且没有配置其他复合索引


有人能解释一下为什么需要如此多的处理,我能做些什么来优化它吗?

这个收藏有多古老?如果这超过一年,它可能使用我们的旧索引版本,该版本在字符串上使用哈希索引(此处为您的日期)。较新的索引版本在字符串和数字上使用范围索引,并且性能更好。在任何一种情况下,如果您可以从这个容器中共享您的索引策略,它会告诉我这个容器正在使用哪个索引版本。谢谢。嗨,蒂姆。对于@Mark的评论有任何回复吗?db只有3个月的历史@TimGriffiths。我已经和我的工程团队讨论过了。不幸的是,我们无法提出这里可能发生的事情。我们唯一能建议的就是开一张支持票,这样工程师就可以查看您的集装箱遥测。抱歉,我不能在此提出任何建议。谢谢