Scheint ein Problem mit dem 2.0.x-Treiber zu sein:hier ist ein Thread...
Ich habe gerade dieselbe Abfrage mit 2.0.x und 1.4.x ausgeführt. Wenn Limit =1, arbeiten beide schnell ~1 ms. Wenn Limit =2, bleibt die 1.4.x-Version bei etwa 1 ms, aber die 2.0.x-Version springt auf 25 ms. Es ist also nicht nur ein Problem mit der EXPLAIN-Ausgabe – das ist nur ein Symptom des Problems.
Am Donnerstag, den 8. Januar 2015 um 9:04:05 Uhr UTC-8 schrieb Joshua Abrams:Interessant... genau dieselbe Abfrage mit 1.4.x ergibt eine korrekte Erklärung, wobei n =2 (und so weiter). Kann das die Leistung beeinträchtigen? Wenn ich eine Abfrage mit Limit =1 ausführe, ist sie schnell (wie erwartet), aber wenn Limit =2 ist, ist sie 100-mal langsamer ...
Am Donnerstag, den 8. Januar 2015 um 8:52:28 UTC-8 schrieb christkv:nicht wirklich. Mein Vorschlag ist, einen minimal reproduzierbaren Testfall (Code und Daten) zu erstellen und ein Ticket auf jira.mongodb.com zu eröffnen. irgendwie schwer zu wissen, was passieren könnte. Es ist unwahrscheinlich, dass es der Fahrer ist, aber man weiß nie. versuchen Sie es auch mit dem Zweig 1.4.x, um zumindest auszuschließen, dass es sich um ein Problem mit dem Zweig 2.0.x handelt.
Am Donnerstag, den 8. Januar 2015 um 17:47:45 Uhr UTC+1 schrieb Joshua Abrams:Gerade nachgesehen und ich verwende 2.0.12 des Treibers. Irgendwelche anderen Gedanken?
Am Donnerstag, den 8. Januar 2015 um 8:23:16 Uhr UTC-8 schrieb christkv:Erklären Sie, dass nur alle Ergebnisse im Treiber anstelle von Teilergebnissen neu eingestellt werden. So erhalten Sie den Plan. Eine Sache, die Ihnen in den Sinn kommt, ist, dass Sie sich auf einem Treiber vor Version 1.4.19 befinden, der einen Fehler hatte, bei dem batchSize auf 1 gesetzt wurde.
Am Donnerstag, den 8. Januar 2015 um 17:01:42 Uhr UTC+1 schrieb Joshua Abrams:Ich hatte in letzter Zeit eine Reihe von Leistungsproblemen mit dem Treiber.Limit =1 =1ms, Limit> 1 =150ms (Mongo-melt-down)
Ich bin mir nicht sicher, was die Ursache dafür ist - und es ist unmöglich zu debuggen, wenn ich keine richtige Erklärung bekomme:MongoDB Native Node Driver:Explain ist defekt?