Details
Description
db.xxx.ensureIndex({x:1},{partialFilterExpression:{bin:true}})
|
> db.xxx.find({bin:true,x:1}).explain()
|
{
|
"queryPlanner" : {
|
"plannerVersion" : 1,
|
"namespace" : "test.xxx",
|
"indexFilterSet" : false,
|
"parsedQuery" : {
|
"$and" : [
|
{"bin" : {"$eq" : true}},
|
{"x" : {"$eq" : 1}}
|
]
|
},
|
"winningPlan" : {
|
"stage" : "FETCH",
|
"filter" : {"bin" : {"$eq" : true}},
|
"inputStage" : {
|
"stage" : "IXSCAN",
|
"keyPattern" : {"x" : 1},
|
"indexName" : "x_1",
|
"isMultiKey" : false,
|
"multiKeyPaths" : { "x" : [ ] },
|
"isUnique" : false,
|
"isSparse" : false,
|
"isPartial" : true,
|
"indexVersion" : 2,
|
"direction" : "forward",
|
"indexBounds" : { "x" : [ "[1.0, 1.0]" ] }
|
}
|
},
|
"rejectedPlans" : [ ]
|
},
|
"serverInfo" : {
|
"host" : "AD-MAC10G.local",
|
"port" : 27017,
|
"version" : "3.4.2",
|
"gitVersion" : "3f76e40c105fc223b3e5aac3e20dcd026b83b38b"
|
},
|
"ok" : 1
|
}
|
There's no need to do the FETCH with a check on bin:true since that condition is already satisfied by the index partial filterexpression
Attachments
Issue Links
- is duplicated by
-
SERVER-29247 COUNT_SCAN not used for partial indexes
-
- Closed
-
-
SERVER-42647 Compound partialFilterExpression not being used - despite correct index chosen
-
- Closed
-
-
SERVER-44836 count_documents with filter does not use the partialFilterExpression index right when the keys in the filter are indexed
-
- Closed
-
-
SERVER-32035 Index doesn't cover a query for a partial filter expression index under certain circumstances
-
- Closed
-
- is related to
-
SERVER-26896 Use knowledge about partial index filter expression to determine whether $exists predicate can be covered
-
- Backlog
-
-
SERVER-75025 [CQF] Add test for optimizer-specific fix for SERVER-28889
-
- Backlog
-
- related to
-
SERVER-29247 COUNT_SCAN not used for partial indexes
-
- Closed
-
-
SERVER-55065 Null queries should be covered by index where possible with current index format
-
- Closed
-
-
SERVER-56020 Unnecessary FETCH stage
-
- Closed
-
-
SERVER-26580 allow using partial index on query where predicate matches partial filter expression
-
- Backlog
-