Azure Cosmos MongoDB不';我似乎不使用索引
我将Azure Cosmos MongoDB与2个集合一起使用,尝试查询主键的一部分时,如下所示:Azure Cosmos MongoDB不';我似乎不使用索引,mongodb,azure,indexing,azure-cosmosdb,Mongodb,Azure,Indexing,Azure Cosmosdb,我将Azure Cosmos MongoDB与2个集合一起使用,尝试查询主键的一部分时,如下所示: db.coll.aggregate([ { $match: {"_id.product_id": "1258"} } ],{"explain":true}) 我收到有关索引使用的以下信息: "indexUsage" : { "pathsIndexed" : { &qu
db.coll.aggregate([
{ $match:
{"_id.product_id": "1258"}
}
],{"explain":true})
我收到有关索引使用的以下信息:
"indexUsage" : {
"pathsIndexed" : {
"individualIndexes" : [
"_id.product_id"
],
"compoundIndexes" : [ ]
},
"pathsNotIndexed" : {
"individualIndexes" : [ ],
"compoundIndexes" : [ ]
}
}, ...
"queryMetrics" : {
"retrievedDocumentCount" : 603,
"retrievedDocumentSizeBytes" : 415786,
"outputDocumentCount" : 1,
"outputDocumentSizeBytes" : 470,
"indexHitRatio" : 0,
"totalQueryExecutionTimeMS" : 5.35,
"queryPreparationTimes" : {
"queryCompilationTimeMS" : 0.11,
"logicalPlanBuildTimeMS" : 0.06,
"physicalPlanBuildTimeMS" : 0.15,
"queryOptimizationTimeMS" : 0.02
},
"indexLookupTimeMS" : 0,
"documentLoadTimeMS" : 3.59,
"vmExecutionTimeMS" : 4.8099,
"runtimeExecutionTimes" : {
"queryEngineExecutionTimeMS" : 1.2099,
"systemFunctionExecutionTimeMS" : 0.37,
"userDefinedFunctionExecutionTimeMS" : 0
},
"documentWriteTimeMS" : 0.01
}
“\u id.product\u id”上的索引似乎正在使用中,但indexHitRatio仍为0
此时,查询持续时间似乎很好,但在生产性数据库中,由于数据量的原因,持续时间达到Mongo超时点
我试过:
重新编制索引;删除并重建整个集合;将通配符indexex添加到基本上所有的可能性中;向每个字段添加简单类型索引
在宇宙中,我有没有做错什么,因为它在技术上与MongoDB不完全相同
========================================编辑==========================
尝试为对象主键的某些部分编制索引时是否有问题?这应该可以。它是受支持的。我通常会说,你可能想重建你的索引,但你已经做了很多。我希望我有别的东西你可以试试。我能想到的唯一一件事是提出一份支持票,以便工程师可以更仔细地查看您的收藏。也许收藏太小,服务器决定只加载文档而不是查阅索引会更快。@Joe productive中的收藏大约为5gb,即使使用应用的所有索引和日志都表明该索引应该是used@MarkBrown我尝试了一下,我没有发现任何其他可能与数据库或集合有关的错误