Question

dire que j'ai un document article avec: prix et champs: Cdt. Je veux parfois trouver tous les documents correspondant à une donnée: Prix et: qté, et à d'autres moments, il sera soit: le prix lui-même ou: qté sur son propre

.

Je l'ai déjà indexé le: prix et: les clés de qté, mais ai-je besoin aussi de créer un index composé sur les deux ensemble ou sont les indices assez simples clés

Edit: J'ai trouvé cet article sur le site mongodb très utile:

http://www.mongodb.org/display/DOCS/ indexation + conseils + et + FAQ

Était-ce utile?

La solution

Un index sur price aide des requêtes sur price. Un index sur qty aide des requêtes sur qty. Un index sur price et qty aide avec des requêtes sur des requêtes sur price ET price et qty. Donc, il est comme obtenir deux indices pour le prix d'un. Il ne sera pas utile pour les requêtes sur qty, cependant.

Vous devriez réduire le nombre d'indices que vous avez, baisse si l'un de vos index unique clé et créer un indice composé de départ avec cette touche.

En règle générale, si vous faites une requête sur x, y et z, vous devriez avoir un indice comme {x:1, y:1, z:1}. Cet indice fera les requêtes suivantes rapide:

db.foo.find({x : ..., y : ..., z : ...})
db.foo.find({x : ..., y : ...})
db.foo.find({x : ...})

Il ne fera pas ces requêtes rapides:

db.foo.find({y : ..., z : ...})
db.foo.find({y : ...})

Alors, assurez-vous que votre requête a la clé de contact (s) d'un indice en elle.

Autres conseils

si vous avez besoin: prix sur son propre ou:. Qté lui-même alors un indice composé ne fonctionnera pas

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top