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

MongoDB Multikey Compound Index - Brug for hjælp til at forstå grænser

Med sammensatte indekser, hvor et af de indekserede felter er et array, vil MongoDB kun bruge enten en nedre eller øvre grænse for intervalforespørgslen for at sikre, at korrekte matches returneres. Se SERVER-958 for et eksempel, hvor begrænsning til både øvre og nedre indeksgrænser ikke ville finde det forventede dokument.

Hvis din intervalforespørgsel er på matrixfeltet, kan du potentielt bruge $elemMatch operatør for at optimere din forespørgsel inden for de forventede indeksgrænser. Som ved MongoDB 2.4 er $elemMatch operatoren virker ikke på felter uden for array, så desværre hjælper dette ikke din brugssituation. Du kan se/stemme op SERVER-6050:Overvej at tillade $elemMatch anvendt på ikke-arrays i MongoDB issue tracker.

Der er også et åbent problem SERVER-7959:Potentielt uventede scanninger med sammensatte indekser, når nogle felter er multinøgle beskriver denne adfærd.



  1. Redis eller Mongo for at afgøre, om et tal falder inden for intervaller?

  2. Forringende ydeevne af mongoldb dokumentopdateringer, efterhånden som rekorden vokser

  3. mongodb kan ikke starte på windows?

  4. Urimeligt langsom MongoDB-forespørgsel, selvom forespørgslen er enkel og tilpasset indekser