MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

como funciona o índice Mongodb?


A ordem dos campos no índice é importante; o melhor índice composto para o seu exemplo de localização e classificação seria:
db.test.ensure_index([("xxx",1),("_id",-1)])

Como seus critérios de pesquisa estão no campo 'xxx', colocar esse campo primeiro no índice encontrará mais resultados do que pesquisar por _id e, em seguida, filtrando para documentos que correspondam ao seu xxx critério.

Se você olhar para o n número para cada plano considerado pelo otimizador de consulta em allPlans , o BtreeCursor xxx_1 index realmente retorna a maioria dos resultados (34). Os outros índices retornam 9, 10 e 16 resultados .. portanto, seria menos eficiente para os critérios de pesquisa fornecidos.

Para obter mais informações sobre otimização de índice, este artigo é muito útil:Otimizando índices compostos do MongoDB .