sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB:påvirker dokumentstørrelsen forespørgselsydeevne?

En måde at omformulere spørgsmålet på er at sige, tager en forespørgsel på 1 million dokumenter længere tid, hvis dokumenter er på 16 mb mod 16 kb hver.

Ret mig, hvis jeg tager fejl, ud fra min egen erfaring, jo mindre dokumentstørrelsen er, jo hurtigere er forespørgslen.

Jeg har lavet forespørgsler på 500.000 dokumenter vs. 25.000 dokumenter, og 25.000-forespørgslen var mærkbart hurtigere - alt fra et par millisekunder til 1-3 sekunder hurtigere. Ved produktion er tidsforskellen omkring 2x-10x mere.

Det ene aspekt, hvor dokumentstørrelsen kommer i spil, er i forespørgselssortering, i hvilket tilfælde dokumentstørrelsen vil påvirke, om selve forespørgslen kører eller ej. Jeg har nået denne grænse adskillige gange ved at prøve at sortere så lidt som 2k dokumenter.

Flere referencer med nogle løsninger her:https://docs.mongodb.org/manual /reference/limits/#operations https://docs.mongodb.org/ manual/reference/operator/aggregation/sort/#sort-memory-limit

I slutningen af ​​dagen er det slutbrugeren, der lider.

Når jeg forsøger at afhjælpe store forespørgsler, der forårsager uacceptabelt langsom ydeevne. Jeg synes normalt at oprette en ny samling med en delmængde af data og bruge en masse forespørgselsbetingelser sammen med en sortering og en grænse.

Håber dette hjælper!



  1. Er ikke-blokerende Redis pubsub muligt?

  2. MongoDB $add

  3. at bruge :=giver ubrugt fejl, men ved at bruge =ikke i Go

  4. Mongodb Aggregationsramme for grale 1.3.7