Aws 文档数据库在查找查询中不使用 elemMatch 运算符中的索引?
Aws document db doesnot use indexes in elemMatch operator in find queries?
我正在为文档的数组字段使用单独的索引。在查询文档时,正在使用 elemMatch 运算符。但是当我尝试 运行 explain 命令时,它告诉我索引没有被使用。
我得到以下解释查询的结果:
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "mydb.mycollection",
"winningPlan" : {
"stage" : "COLLSCAN"
}
},
"serverInfo" : {
"host" : "xxxxxx",
"port" : xxxxx,
"version" : "3.6.0"
},
"ok" : 1.0
}
这意味着它没有使用我为此集合创建的索引。
aws 文档是否不在 elemMatch 运算符中使用数组索引。 ?
AWS DocumentDB 目前 不支持 在使用 $elemMatch 运算符时利用索引。
$distinct, $elemMatch, and $lookup Indexing
Amazon DocumentDB does not currently support the ability to use indexes with the $distinct, $elemMatch, and $lookup operators. As a result, utilizing these operators will result in collection scans. Performing a filter or match before utilizing one of these operators will reduce the amount of data that needs to be scanned, and thus can improve performance.
示例查询:
db.getCollection("collection").find(
{
"MyArrayField" : {
"$elemMatch" : {
"MyFieldOfObjectInArray" : UUID("11111111-1111-1111-111-111111111111")
}
}
}
).hint("Multi_key_index").explain();
Returns 错误:
无法为此查询使用提示。索引是多键索引或稀疏索引,查询未针对使用此索引进行优化。
我正在为文档的数组字段使用单独的索引。在查询文档时,正在使用 elemMatch 运算符。但是当我尝试 运行 explain 命令时,它告诉我索引没有被使用。
我得到以下解释查询的结果:
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "mydb.mycollection",
"winningPlan" : {
"stage" : "COLLSCAN"
}
},
"serverInfo" : {
"host" : "xxxxxx",
"port" : xxxxx,
"version" : "3.6.0"
},
"ok" : 1.0
}
这意味着它没有使用我为此集合创建的索引。
aws 文档是否不在 elemMatch 运算符中使用数组索引。 ?
AWS DocumentDB 目前 不支持 在使用 $elemMatch 运算符时利用索引。
$distinct, $elemMatch, and $lookup Indexing
Amazon DocumentDB does not currently support the ability to use indexes with the $distinct, $elemMatch, and $lookup operators. As a result, utilizing these operators will result in collection scans. Performing a filter or match before utilizing one of these operators will reduce the amount of data that needs to be scanned, and thus can improve performance.
示例查询:
db.getCollection("collection").find(
{
"MyArrayField" : {
"$elemMatch" : {
"MyFieldOfObjectInArray" : UUID("11111111-1111-1111-111-111111111111")
}
}
}
).hint("Multi_key_index").explain();
Returns 错误:
无法为此查询使用提示。索引是多键索引或稀疏索引,查询未针对使用此索引进行优化。