Domanda

dire che ho un documento prodotto con: campi Q.tà: Prezzo e. A volte mi voglio trovare tutti i documenti che corrispondono a un determinato: PREZZO E: qty, e altre volte sarà uno: prezzo da solo o: qty da solo

.

ho già indicizzato il: prezzo e:? Qtà tasti, ma faccio anche bisogno di creare un indice composto su entrambi insieme o sono gli indici principali singoli abbastanza

Edit: Ho trovato questo articolo sul sito MongoDB molto utili:

http://www.mongodb.org/display/DOCS/ indicizzazione + Consigli + e + FAQ

È stato utile?

Soluzione

Un indice su price aiuta con le query su price. Un indice su qty aiuta con le query su qty. Un indice su price e qty aiuta con le query su price e query su price e qty. Quindi, è come avere due indici per il prezzo di uno. Essa non aiuterà per le query su qty, però.

Si dovrebbe ridurre al minimo il numero di indici che avete, in modo da cadere uno dei vostri indici single-chiave e di creare un indice composto di partenza con quella chiave.

Come regola generale, se si sta facendo una query su x, y, e z, si dovrebbe avere un indice come {x:1, y:1, z:1}. Questo indice farà le seguenti query veloce:

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

Non farà queste query veloce:

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

Quindi, assicurarsi che la query ha la chiave di avviamento (s) di un indice in esso.

Altri suggerimenti

Se avete bisogno di: prezzo da solo o:. Qty da solo quindi un indice composto non funzionerà

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top