optimizar - mongodb ejemplos
cuándo indexar en múltiples claves en mongodb (2)
si necesita: el precio por sí solo o: qty por sí mismo, entonces un índice compuesto no funcionará.
digamos que tengo un documento de artículo con: precio y: campos de cantidad. A veces quiero encontrar todos los documentos que coincidan con un determinado: precio Y: cantidad, y otras veces será: precio por su cuenta o: cantidad por su cuenta
Ya he indexado las claves: precio y: cantidad, pero ¿también necesito crear un índice compuesto en ambas juntas o son suficientes los índices de una sola clave?
Edit: Encontré este artículo en el sitio mongodb muy útil:
Un índice de price
ayuda con las consultas de price
. Un índice en la qty
ayuda con las consultas en la qty
. Un índice de price
y qty
ayuda con las consultas de price
Y las consultas de price
y qty
. Entonces, es como obtener dos índices por el precio de uno. Sin embargo, no servirá para consultas sobre qty
.
Debe minimizar el número de índices que tiene, así que elimine uno de sus índices de una sola clave y cree un índice compuesto que comience con esa clave.
Como regla general, si está realizando una consulta en x
, y
, z
, debe tener un índice como {x:1, y:1, z:1}
. Este índice hará que las siguientes consultas sean rápidas:
db.foo.find({x : ..., y : ..., z : ...})
db.foo.find({x : ..., y : ...})
db.foo.find({x : ...})
No hará estas consultas rápidas:
db.foo.find({y : ..., z : ...})
db.foo.find({y : ...})
Por lo tanto, asegúrese de que su consulta tenga la (s) clave (s) de inicio de un índice en ella.