Uppdatering:verkar vara ett 2.0.x-problem...
Jag körde precis samma fråga med 2.0.x och 1.4.x. När Limit =1 presterar båda snabbt ~1ms. När Limit =2 stannar 1.4.x-versionen runt 1 ms men 2.0.x-versionen hoppar till 25 ms. Så det är inte bara ett problem med förklara-utgången - det är bara ett symptom på problemet.
Torsdagen den 8 januari 2015 9:04:05 UTC-8 skrev Joshua Abrams:Intressant... exakt samma fråga med 1.4.x ger en korrekt förklaring där n =2 (och så vidare). Kan detta påverka prestandan? När jag kör en fråga där Limit =1 är det snabbt (som förväntat) men när Limit =2 är det 100 gånger långsammare...
Torsdagen den 8 januari 2015 8:52:28 UTC-8 skrev christkv:inte riktigt. Mitt förslag är att göra ett minimalt reproducerbart testfall (kod och data) och öppna en biljett på jira.mongodb.com. lite svårt att veta vad som kan hända. det är osannolikt att det är föraren men man vet aldrig. försök med 1.4.x-grenen också bara för att åtminstone utesluta att det är ett 2.0.x-grenproblem.
Torsdagen den 8 januari 2015 17:47:45 UTC+1 skrev Joshua Abrams:Kollade precis och jag använder 2.0.12 av drivrutinen. Några andra tankar?
Torsdagen den 8 januari 2015 8:23:16 UTC-8 skrev christkv:explain är bara att återställa alla resultat i drivrutinen istället för partiella resultat. så får du planen. En sak som kommer att tänka på kan vara att du använder en drivrutin tidigare än 1.4.19 som hade ett fel där batchSize var satt till 1.
Torsdagen den 8 januari 2015 17:01:42 UTC+1 skrev Joshua Abrams:Jag har haft en rad prestandaproblem på sistone med drivrutinen.Gräns =1 =1 ms, gräns> 1 =150 ms (mongo-melt-down)
Jag är inte säker på vad det beror på - och det är omöjligt att felsöka när jag inte kan få en ordentlig förklaring:MongoDB Native Node Driver:Explain is Broken?