MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:Beeinflusst die Dokumentgröße die Abfrageleistung?

Eine Möglichkeit, die Frage anders zu formulieren, lautet:Dauert eine Abfrage von 1 Million Dokumenten länger, wenn die Dokumente jeweils 16 MB statt 16 KB groß sind?

Korrigieren Sie mich, wenn ich falsch liege. Aus meiner eigenen Erfahrung heraus ist die Abfrage umso schneller, je kleiner die Dokumentgröße ist.

Ich habe Abfragen für 500.000 Dokumente im Vergleich zu 25.000 Dokumenten durchgeführt, und die 25.000-Abfrage war merklich schneller - von einigen Millisekunden bis zu 1-3 Sekunden schneller. Bei der Produktion beträgt der Zeitunterschied etwa 2x-10x mehr.

Der einzige Aspekt, bei dem die Dokumentgröße ins Spiel kommt, ist die Abfragesortierung. In diesem Fall wirkt sich die Dokumentgröße darauf aus, ob die Abfrage selbst ausgeführt wird oder nicht. Ich habe dieses Limit viele Male erreicht, als ich versucht habe, nur 2.000 Dokumente zu sortieren.

Weitere Referenzen mit einigen Lösungen finden Sie hier:https://docs.mongodb.org/manual /reference/limits/#operations https://docs.mongodb.org/ manual/reference/operator/aggregation/sort/#sort-memory-limit

Am Ende des Tages leidet der Endbenutzer.

Wenn ich versuche, große Abfragen zu beheben, die eine unannehmbar langsame Leistung verursachen. Normalerweise erstelle ich eine neue Sammlung mit einer Teilmenge von Daten und verwende viele Abfragebedingungen zusammen mit einer Sortierung und einem Limit.

Hoffe, das hilft!