Cosmos DB Data Explorer中的莫名其妙的SQL查询结果

时间:2019-01-24 07:57:04

标签: azure-cosmosdb

我有一个带有ca的收藏。 7.000个文档已移至新数据库(以利用索引v2和数据库吞吐量配置)。

查询

SELECT VALUE COUNT(c.id)  FROM c WHERE c._DAT.KursFrei._v = "RD18-G 06"

产生以下(正确)结果:

[
    72
]

例如,该查询:

SELECT DISTINCT VALUE c._DAT.KursFrei._v FROM c 

仅显示以下输出:

[
"NFS 16 BW",
"G 04 2018",
"NFS 15",
"NFS 17 BW",
"NFS 17",
"G 05 2018",
"G 05 2015",
"RDF 07",
"RDF 07 "
]

第一个查询的约束值甚至没有显示。

SELECT VALUE c._DAT.KursFrei._v FROM c 

仅显示149条结果,而

SELECT COUNT(VALUE) c._DAT.KursFrei._v FROM c 

正确显示6891

  • 启用了跨分区查询
  • “每页查询结果”设置为10000(“无限”似乎仍默认为100)
  • 针对旧的,未分区的集合运行
  • 所有查询结果符合预期
  • 我尚未尝试从我的应用程序中运行查询

这是我的索引设置:

{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
    {
        "path": "/*",
        "indexes": [
            {
                "kind": "Range",
                "dataType": "Number",
                "precision": -1
            },
            {
                "kind": "Range",
                "dataType": "String",
                "precision": -1
            },
            {
                "kind": "Spatial",
                "dataType": "Point"
            }
        ]
    }
],
"excludedPaths": [
    {
        "path": "/_OLD/*"
    }
]
}

1 个答案:

答案 0 :(得分:0)

我在应用程序本地从Azure门户复制了数据资源管理器的基本功能。基本上,我只是通过CreateDocumentQuery()循环SQL字符串,并在结果提要中的所有对象上调用.ToString()

如我所料:

  • 所有查询均显示正确和预期的结果
  • 查询的执行速度比门户网站快

这证实了我最初的假设,即数据浏览器只是派我去追赶鹅,而在当前状态下,它不仅使用起来很麻烦,而且实际上毫无用处。