sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo funciona el índice Mongodb?

El orden de los campos en el índice importa; el mejor índice compuesto para su ejemplo de buscar y ordenar sería:

db.test.ensure_index([("xxx",1),("_id",-1)])

Dado que su criterio de búsqueda está en el campo 'xxx', al colocar este campo primero en el índice encontrará más resultados que al buscar por _id y luego filtrar a documentos que coincidan con su xxx criterios.

Si miras el n número para cada plan considerado por el optimizador de consultas en allPlans , el BtreeCursor xxx_1 índice en realidad devuelve la mayoría de los resultados (34). Los otros índices devuelven 9, 10 y 16 resultados... por lo que serían menos eficientes para los criterios de búsqueda dados.

Para obtener más información sobre la optimización de índices, este artículo es muy útil:Optimización de índices compuestos de MongoDB .