MongoDB consulta índice de cobertura
A descrição oficial documento MongoDB, que abrange a consulta a seguir é uma consulta:
- Todos os campos de consulta são parte do índice
- Todos os campos na mesma consulta retorna o índice
Uma vez que todos aparecem no campo de consulta faz parte do índice, arquivos de dados MongoDB sem ter que recuperar todo os termos da consulta jogo e retornar os resultados da consulta usando o mesmo índice.
Como o índice residir na RAM, o acesso aos dados do que a leitura de dados muito mais rápido digitalizando documentos do índice.
Use uma consulta índice de cobertura
Para testar consulta do índice tampa, utilize o seguinte conjunto de usuários:
{ "_id": ObjectId("53402597d852426020000002"), "contact": "987654321", "dob": "01-01-1991", "gender": "M", "name": "Tom Benzamin", "user_name": "tombenzamin" }
Nós criamos uma coleção usuários índice comum, sexo campo e user_name:
>db.users.ensureIndex({gender:1,user_name:1})
Agora, o índice vai cobrir a seguinte consulta:
>db.users.find({gender:"M"},{user_name:1,_id:0})
Ou seja, para a consulta acima, MongoDB é não ir para o arquivo para um banco de dados. Em vez disso, ele extrai os dados do índice, que é consulta de dados muito rápido.
Desde o nosso índice não inclui o campo _id, _id será devolvido por padrão na consulta, podemos nos concentrar excluí-lo nos resultados da consulta MongoDB.
Os exemplos a seguir não são governados _id, a consulta não será coberta:
>db.users.find({gender:"M"},{user_name:1})
Finalmente, se a consulta a seguir, a consulta não pode usar a cobertura de índice:
- Todos campo de índice é um array Todos campo sub-índice é um documento