-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: 2.5.5
-
Component/s: Index Maintenance
-
None
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The following simple query on 'id' with range on 'date' does not properly bound the query on 'date'. In contrast, v2.4 was doing this properly.
Version 2.5.5:
> db.test.find({ id: "1537F3BDA01A95E403BFE4E0783B3D2BC2E2984FD492A21109468E939A39BB97", date: { $gte: new Date(1391212800000), $lte: new Date(1392076800000) } }).explain()
{
"cursor" : "Complex Plan",
"n" : 0,
"nscannedObjects" : 0,
"nscanned" : 0,
"nscannedObjectsAllPlans" : 0,
"nscannedAllPlans" : 0,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 0,
"server" : "MongoDBLinux-3:27017",
"stats" : {
"type" : "FETCH",
"works" : 2,
"yields" : 0,
"unyields" : 0,
"invalidates" : 0,
"advanced" : 0,
"needTime" : 0,
"needFetch" : 0,
"isEOF" : 1,
"alreadyHasObj" : 0,
"forcedFetches" : 0,
"matchTested" : 0,
"children" : [
{
"type" : "KEEP_MUTATIONS",
"works" : 1,
"yields" : 0,
"unyields" : 0,
"invalidates" : 0,
"advanced" : 0,
"needTime" : 0,
"needFetch" : 0,
"isEOF" : 1,
"children" : [
{
"type" : "AND_HASH",
"works" : 1,
"yields" : 0,
"unyields" : 0,
"invalidates" : 0,
"advanced" : 0,
"needTime" : 0,
"needFetch" : 0,
"isEOF" : 1,
"flaggedButPassed" : 0,
"flaggedInProgress" : 0,
"children" : [
{
"type" : "IXSCAN",
"works" : 1,
"yields" : 0,
"unyields" : 0,
"invalidates" : 0,
"advanced" : 0,
"needTime" : 0,
"needFetch" : 0,
"isEOF" : 1,
"keyPattern" : "{ date: 1.0 }",
"bounds" : {
"date" : [
[
ISODate("2014-02-01T00:00:00Z"),
ISODate("2014-02-11T00:00:00Z")
]
]
},
"isMultiKey" : 0,
"yieldMovedCursor" : 0,
"dupsTested" : 0,
"dupsDropped" : 0,
"seenInvalidated" : 0,
"matchTested" : 0,
"keysExamined" : 0,
"children" : [ ]
},
{
"type" : "IXSCAN",
"works" : 0,
"yields" : 0,
"unyields" : 0,
"invalidates" : 0,
"advanced" : 0,
"needTime" : 0,
"needFetch" : 0,
"isEOF" : 0,
"keyPattern" : "{ id: 1, date: 1 }",
"bounds" : {
"id" : [
[
"1537F3BDA01A95E403BFE4E0783B3D2BC2E2984FD492A21109468E939A39BB97",
"1537F3BDA01A95E403BFE4E0783B3D2BC2E2984FD492A21109468E939A39BB97"
]
],
"date" : [
[
{
"$minElement" : 1
},
{
"$maxElement" : 1
}
]
]
},
"isMultiKey" : 0,
"yieldMovedCursor" : 0,
"dupsTested" : 0,
"dupsDropped" : 0,
"seenInvalidated" : 0,
"matchTested" : 0,
"keysExamined" : 0,
"children" : [ ]
}
]
}
]
}
]
}
}
version 2.4:
> db.test.find({ id: "1537F3BDA01A95E403BFE4E0783B3D2BC2E2984FD492A21109468E939A39BB97", date: { $gte: new Date(1391212800000), $lte: new Date(1392076800000) } }).explain()
{
"cursor" : "BtreeCursor id_1_date_1",
"isMultiKey" : false,
"n" : 0,
"nscannedObjects" : 0,
"nscanned" : 0,
"nscannedObjectsAllPlans" : 0,
"nscannedAllPlans" : 0,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 3,
"indexBounds" : {
"id" : [
[
"1537F3BDA01A95E403BFE4E0783B3D2BC2E2984FD492A21109468E939A39BB97",
"1537F3BDA01A95E403BFE4E0783B3D2BC2E2984FD492A21109468E939A39BB97"
]
],
"date" : [
[
ISODate("2014-02-01T00:00:00Z"),
ISODate("2014-02-11T00:00:00Z")
]
]
},
"server" : "MongoDBLinux-3:27017"
}
- duplicates
-
SERVER-12639 Performance regression with RegEx
-
- Closed
-
- is related to
-
SERVER-12795 Penalize ixisect during plan scoring so that it won't get chosen over faster single-index plans
-
- Closed
-
- related to
-
SERVER-12825 Don't generate index intersection plans if you can use a compound index instead
-
- Closed
-