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

MongoDB sortering er ekstremt langsom selv på indekserede felter

Du bør køre explain mod din forespørgsel, vil det hjælpe dig med at finde ud af, hvad der foregår.

Det er sandsynligt, at Mongo ikke bruger et indeks til både filtrering og sortering. Når du bruger en $or , kan den bruge flere indekser til at matche mulighederne. Men når du tilføjer en sort det kan gøre, at den ikke bruger indekser, der er tilgængelige til filtrering.

Når du vil sortere på en forespørgsel, skal du sørge for, at det sorterede felt er i det indeks, du vil ramme (sidst, ellers kan det ikke bruge det til at sortere).

Du kan muligvis også fremskynde det ved at sende et indekstip. Jeg ved ikke, hvor mange dokumenter din forespørgsel matcher, men hvis det er et lille tal, og du sørger for, at startbetingelserne rammer et indeks, sorteres på _id kan gøres hurtigt.




  1. AWS Management:Sådan sparer du 30 % på dine MongoDB-hostingomkostninger

  2. MongoDB søg efter hver diktat på listen i samlingen

  3. Mongorestore, fra meteorproduktionsserver til lokal

  4. fejl, mens du følger Tumblelog Application med Flask og MongoEngine