sql >> Database >  >> NoSQL >> MongoDB

MongoDB:trage zoekopdracht, zelfs met index

Dan was het punt hier in zowel de index- als de zoekvolgordeselecties.

Als je kijkt naar je eerdere uitvoer van .explain() u zult zien dat er een "min/max"-bereik is op het "t"-element in uw uitdrukking. Door dat "naar het einde" van de evaluatie te verplaatsen, staat u andere filterelementen toe die belangrijker zijn voor de algemene uitdrukking (bepaal minder mogelijke overeenkomsten van "e" als de belangrijkste factor voordat u door "t" scant in eigenlijk "alles" .

Het is een beetje DBA, maar in de NoSQL-wereld geloof ik dat dit een programmeerprobleem wordt.

U moet in wezen uw "kortste zoekpad" langs de geselecteerde toetsen construeren om de meest effectieve scan te krijgen. Daarom worden de gewijzigde resultaten veel sneller uitgevoerd.




  1. Voorkom dat er null-velden in resultaat zijn wanneer $dateFromString op een veld wordt gebruikt

  2. Facetten gebruiken in het Aggregation Framework C# met Multiple Facet, Unwind en sortByCount

  3. Mangoest sorteren op ingevuld veld

  4. krijg maximale waarde in mangoest