-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Querying
-
None
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
I'm running a query against a collection with 27,576 documents. Occasionally, queries against this which normally return in a few milliseconds, will suddenly take 50 seconds or more. Any idea what's happening here?
The query (I'm using the MongooseJS driver):
var regExp = [new RegExp("^[A-Z]+$")]; var query = models.MeSH.find( { "TreeNumberList.TreeNumber": {$in: regExp} }).hint({"TreeNumberList.TreeNumber": 1});
The array of regular expressions might look odd, but this is simplified code; occasionally it contains 2 regexes.
Profile data:
{
"op" : "query",
"ns" : "figure1.meshdescriptors",
"query" : {
"$query" : {
"TreeNumberList.TreeNumber" : {
"$in" : [
/^[A-Z]+$/
]
}
},
"orderby" : {
"TreeNumberList.TreeNumber" : 1
},
"$hint" : {
"TreeNumberList.TreeNumber" : 1
}
},
"ntoreturn" : 0,
"ntoskip" : 0,
"nscanned" : 56348,
"nscannedObjects" : 27463,
"keyUpdates" : 0,
"numYield" : 3246,
"lockStats" : {
"timeLockedMicros" : {
"r" : NumberLong(4649093),
"w" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(2417056),
"w" : NumberLong(2780)
}
},
"nreturned" : 16,
"responseLength" : 5751,
"millis" : 51795,
"execStats" : {
"type" : "FETCH",
"works" : 59541,
"yields" : 3394,
"unyields" : 3394,
"invalidates" : 0,
"advanced" : 16,
"needTime" : 56332,
"needFetch" : 3192,
"isEOF" : 1,
"alreadyHasObj" : 0,
"forcedFetches" : 0,
"matchTested" : 16,
"children" : [
{
"type" : "IXSCAN",
"works" : 56348,
"yields" : 3394,
"unyields" : 3394,
"invalidates" : 0,
"advanced" : 27463,
"needTime" : 28885,
"needFetch" : 0,
"isEOF" : 1,
"keyPattern" : "{ TreeNumberList.TreeNumber: 1 }",
"isMultiKey" : 1,
"boundsVerbose" : "field #0['TreeNumberList.TreeNumber']: [\"\", {}), [/^[A-Z]+$/, /^[A-Z]+$/]",
"yieldMovedCursor" : 0,
"dupsTested" : 56348,
"dupsDropped" : 28885,
"seenInvalidated" : 0,
"matchTested" : 0,
"keysExamined" : 56348,
"children" : [ ]
}
]
},
"ts" : ISODate("2015-02-25T19:14:18.433Z"),
"client" : "10.165.78.55",
"allUsers" : [ ],
"user" : ""
}
Collection stats:
{
"ns" : "figure1.meshdescriptors",
"count" : 27465,
"size" : 355400384,
"avgObjSize" : 12940,
"storageSize" : 429027328,
"numExtents" : 15,
"nindexes" : 6,
"lastExtentSize" : 114012160,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,
"totalIndexSize" : 37789472,
"indexSizes" : {
"_id_" : 899360,
"ConceptList.Concept.TermList.Term.String_text" : 7031360,
"ConceptList.Concept.TermList.Term.String_1" : 13032544,
"ConceptList.Concept.TermList.Term.StringLower_1" : 12983488,
"TreeNumberList.TreeNumber_1" : 3066000,
"DescriptorUI_1" : 776720
},
"ok" : 1
}