sql >> Database >  >> NoSQL >> MongoDB

MongoDB-sortering is extreem traag, zelfs op geïndexeerde velden

Je moet explain uitvoeren tegen uw vraag, zal het u helpen erachter te komen wat er aan de hand is.

Het is waarschijnlijk dat Mongo geen index gebruikt voor zowel filteren als sorteren. Wanneer u een $or . gebruikt , kan het meerdere indexen gebruiken om de opties te matchen. Maar wanneer u een sort . toevoegt het kan ervoor zorgen dat het geen indexen gebruikt die beschikbaar zijn voor filteren.

Als u op een zoekopdracht wilt sorteren, moet u ervoor zorgen dat het gesorteerde veld zich in de index bevindt die u wilt raken (laatste, of het kan het niet gebruiken om te sorteren).

Je kunt het misschien ook versnellen door een indexhint door te geven. Ik weet niet met hoeveel documenten uw zoekopdracht overeenkomt, maar als het een klein aantal is en u ervoor zorgt dat de beginvoorwaarden een index raken, sorteert u op _id kan snel worden gedaan.




  1. MongoDB $letterlijk

  2. Strapi:debug ⛔️ Server kon niet goed starten

  3. Gebruik van $unwind en $text in aggregatieframework mongodb

  4. MongoDb-verzamelingsnaam configureren voor een klasse in Spring Data