O básico que você precisa saber sobre índices no MongoDB

0

Índices suportam a resolução eficiente de consultas praticamente em todos os tipos de bancos de dados, no MongoDB isto não é diferente. Sem índices, o MongoDB deve verificar cada documento de uma coleção para selecionar os documentos que correspondem à instrução de consulta. Essa verificação é altamente ineficiente e requer que o MongoDB processe um grande volume de dados, aloque grande quantidade de memória, etc.

Os índices são estruturas de dados especiais, que armazenam uma pequena porção do conjunto de dados em uma forma fácil de atravessar. O índice armazena o valor de um campo ou conjunto de campos específico, ordenado pelo valor do campo conforme especificado no índice.

O método ensureIndex()

Para criar um índice, você precisa usar o método ensureIndex() do MongoDB, lembrando que à partir da versão 3.0 do MongoDB este método é um simples álias para o método createIndex().

Sintaxe

A sintaxe básica do método ensureIndex () é a seguinte:

db.NOME_COLECAO.ensureIndex({CHAVE:1})
Aqui a chave é o nome do campo no qual você deseja criar o índice e 1 é para a ordem crescente. Para criar o índice em ordem decrescente, você precisa usar -1.

Exemplo

>db.COLECAO.ensureIndex({"TITULO":1})
No método ensureIndex () você pode passar vários campos, para criar índice em vários campos.
>db.COLECAO.ensureIndex({"TITULO":1,"DESCRICAO":-1})

O método ensureIndex() também aceita lista de opções opcionais como criação de índice em background, se o índice será único, qual o nome do índice etc. Logo iremos ver mais sobre índice em outros posts assim como a utilização do método createIndex, que abrange as versões atuais do mongoDB, aguardem!

Você pode ler um pouco mais sobre isto aqui.
Um grande abraço a todos!
Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com