CosmosDB查询不必要地慢,并消耗大量的RU

时间:2018-06-18 21:20:36

标签: azure nosql azure-cosmosdb

我在集合中有大约几百万个文档(800MB)(会话一致性),默认范围索引,在/ id上分区。

我运行这两个查询,返回相同的结果,但是他们采用的时间和RU是不同的数量级。

这需要16K RU并且> = 30秒。

CREATE (n:Node {latitude:60.1,longitude:15.2}) WITH n CALL spatial.addNode('geom',n) YIELD node RETURN node

这需要40个RU,大约1秒钟。

SELECT * FROM c WHERE ( c.Status = 'SomethingDistinctive' AND c.User != null)

基本上,只要有用户,就会有一个有电子邮件的用户。

熟悉CosmosDB或Microsoft的某个人是否可以提供一些见解或指导?我应该提供一些额外的索引吗?我在慢查询中使用查询度量,发现索引比率为0,这似乎表明索引根本就没用过!

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

此集合定义的分区键是什么?我猜想分区键是/ user / email而不是/ user。

您可以从数据浏览器然后在“文档”选项卡中检查分区键和ID。