sql >> Database >  >> NoSQL >> MongoDB

MongoDB:heeft de documentgrootte invloed op de queryprestaties?

Een manier om de vraag te herformuleren is door te zeggen of een zoekopdracht van 1 miljoen documenten langer duurt als documenten 16 MB versus 16 KB elk zijn.

Corrigeer me als ik het mis heb, uit mijn eigen ervaring, hoe kleiner de documentgrootte, hoe sneller de zoekopdracht.

Ik heb zoekopdrachten uitgevoerd op 500k-documenten versus 25.000-documenten en de 25.000-query was merkbaar sneller - variërend van een paar milliseconden tot 1-3 seconden sneller. Bij productie is het tijdsverschil ongeveer 2x-10x meer.

Het enige aspect waarbij de documentgrootte een rol speelt, is het sorteren van query's, in welk geval de documentgrootte van invloed is op het al dan niet uitvoeren van de query zelf. Ik heb deze limiet meerdere keren bereikt in een poging om zo weinig als 2k documenten te sorteren.

Meer referenties met enkele oplossingen hier:https://docs.mongodb.org/manual /reference/limits/#operations https://docs.mongodb.org/ handleiding/referentie/operator/aggregatie/sort/#sort-memory-limit

Uiteindelijk is het de eindgebruiker die eronder lijdt.

Wanneer ik grote vragen probeer te verhelpen die onaanvaardbaar trage prestaties veroorzaken. Meestal merk ik dat ik een nieuwe verzameling maak met een subset van gegevens en veel zoekvoorwaarden gebruik, samen met een sortering en een limiet.

Ik hoop dat dit helpt!



  1. Cast to Number mislukt voor waarde NaN (typenummer) bij pad op een berekend veld Mongoose

  2. geef resultaten door aan een ander commando in redis

  3. hoe te controleren vanaf een stuurprogramma of de mongoDB-server actief is

  4. Overlappend percentage polygoon