我有一个Cosmos数据库数据库(带有SQL api),在数据库级别分配了多个集合和吞吐量。其中一个集合,我运行了一个查询,其中where子句的分区键如下:
选择* 来自c 在哪里c.partition_key_value ='bbababab-asas-asas-23we-79ffrreesff'
这将导致扫描16个分区,而索引查找仅在1个分区内。为什么系统会扫描16个分区? 下面是查询指标的快照(从分区19扫描到38)。
我已经遍历了多个链接,包括“ Differentiate between partition keys & partition key ranges in Azure Cosmos DB”和“ Why is cosmos db creating 5 partitions for a same partition key value?”,但是似乎没有一个答案。这里的问题不在存储上而是在检索上(仅在查询分区键时,为什么系统会扫描多个分区?)
第二个问题:此指标是从Azure门户中的查询编辑器获得的。检索到的查询结果只有100个,但是检索到的文档总数为1600个。系统是否将提取1600个文档并显示每个100个文档(在获取1600个文档之前不会重复显示)?这种理解正确吗?
谢谢