Azure中的资源单元上cosmosDB

问题描述 投票:2回答:2

我试图找出RU被如何以优化的DB提出的要求工作。

我有一个简单的查询,其中由ID是选择

SELECT * FROM c WHERE c.id='cl0'

该查询费用277.08个RU

然后,我有另一个查询,我的另一个属性选择

SELECT * FROM c WHERE c.name[0].id='35bfea78-ccda-4cc5-9539-bd7ff1dd474b' 

该查询费用2.95个RU

我无法弄清楚为什么会出现在消耗的资源单元这两个查询之间有很大的差异。

这两个查询返回完全相同的结果

[
    {
        "label": "class",
        "id": "cl0",
        "_id": "cl0",
        "name": [
            {
                "_value": "C0.Iklos0",
                "id": "35bfea78-ccda-4cc5-9539-bd7ff1dd474b"
            }
        ],
        "_rid": "6Ds6AJHyfgBfAAAAADFT==",
        "_self": "dbs/6Ds4FA==/colls/6Ds6DFewfgA=/docs/6Ds6AJHyfgBdESFAAAAAAA==/",
        "_etag": "\"00007200-0000-0000-0000-w3we73140000\"",
        "_attachments": "attachments/",
        "_ts": 1528722196
    }
]
azure azure-cosmosdb
2个回答
1
投票

我以前遇到类似的问题,这样你就不会面临这个问题的唯一的人。我为你提供两种解决方案。

整个总database.If 1.SQL SELECT * FROM c WHERE c.id='cl0'查询文件你可以做一个分区键正常领域,这将大大提高你的表现。你可以参考这个doc知道如何选择分区键。

2.I成立下面的答案在线程:Azure DocumentDB Query by Id is very slow

微软支持回应,他们已经解决了这个问题。他们已经加入IndexVersion 2的收集。不幸的是,还没有可以从门户和新创建的帐户/集仍没有使用新版本。你必须Microsoft支持联系到您的帐户所做的更改。

我建议你提交反馈here追查本公告。

希望它可以帮助你。

- 编辑

要升级到索引版本2使用下面的代码

var  collection = (await client.ReadDocumentCollectionAsync(string.Format("/dbs/{0}/colls/{1}", databaseId, collectionId))).Resource;                
collection.SetPropertyValue("IndexVersion", 2);
var replacedCollection = await client.ReplaceDocumentCollectionAsync(collection);

0
投票

RU消费取决于你的文件的大小和您的查询,我会强烈建议下面链接查询指标。如果你想调整您的查询或想了解延迟检查查询资讯提供详细资料

X-MS-documentdb查询度量:totalExecutionTimeInMs = 33.67; queryCompileTimeInMs = 0.06; queryLogicalPlanBuildTimeInMs = 0.02; queryPhysicalPlanBuildTimeInMs = 0.10; queryOptimizationTimeInMs = 0.00; VMExecutionTimeInMs = 32.56; indexLookupTimeInMs = 0.36; documentLoadTimeInMs = 9.58; systemFunctionExecuteTimeInMs = 0.00; userFunctionExecuteTimeInMs = 0.00; retrievedDocumentCount = 2000; retrievedDocumentSize = 1125600; outputDocumentCount = 2000; writeOutputTimeInMs = 18.10; indexUtilizationRatio = 1.00 X-MS-请求充电:604.42

https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-sql-query-metrics

© www.soinside.com 2019 - 2024. All rights reserved.