A indexação é uma característica crucial do MongoDB que permite a execução eficiente de consultas. Sem índices, o MongoDB deve realizar uma varredura completa de cada documento em uma coleção para selecionar os documentos que correspondem à consulta. Com índices, o MongoDB pode limitar a busca aos documentos que correspondem ao índice. Isso pode melhorar significativamente o desempenho das consultas.
Índices são estruturas de dados especiais que armazenam uma pequena porção dos dados do conjunto de dados do banco de dados. Esses dados são armazenados de forma fácil de percorrer. Os índices armazenam o valor de um campo específico ou conjunto de campos, ordenados pelos valores do campo. A ordenação dos índices permite ao MongoDB suportar consultas de classificação e ajudar a limitar a quantidade de dados lidos durante a consulta.
Os índices no MongoDB são semelhantes aos índices em outros sistemas de banco de dados. O MongoDB define índices em um nível por coleção e pode criar índices em qualquer campo ou subcampo dos documentos em uma coleção do MongoDB.
Tipos de índices no MongoDB
MongoDB fornece vários tipos de índices que suportam diferentes tipos de consultas de dados. Vamos discutir os tipos de índices mais comuns no MongoDB.
Índice Único
Os índices únicos rejeitam documentos cujo valor no campo indexado ou campos sejam duplicados. Um índice único garante que o campo ou conjunto de campos indexados contenham apenas valores únicos. Por exemplo, você pode querer garantir que nenhum cliente possa se registrar duas vezes com o mesmo endereço de e-mail.
Índice Composto
MongoDB também suporta índices compostos, onde um único índice estrutura refere-se a vários campos dentro de uma coleção de documentos. Os índices compostos podem suportar consultas que correspondem a vários campos.
Índice de texto
Os índices de texto podem incluir qualquer campo cujo valor seja uma string ou uma matriz de strings. Eles são projetados para melhorar o desempenho de consultas de texto.
Índice 2dsphere
Os índices 2dsphere suportam consultas que calculam geometrias em uma esfera bidimensional. Os índices 2dsphere são usados para armazenar dados geoespaciais, como locais geográficos.
Criando índices no MongoDB
Para criar um índice no MongoDB, usamos o método createIndex(). Este método cria um novo índice em uma coleção se o índice não existir; caso contrário, o método não tem efeito.
Manutenção de índices
Os índices são fundamentais para o desempenho do banco de dados, mas também têm custos. Eles consomem espaço em disco e podem afetar o desempenho de gravação no banco de dados. Portanto, é importante garantir que os índices sejam projetados de forma eficaz e mantidos corretamente.
É crucial monitorar o uso do índice e remover quaisquer índices que não estão sendo usados. O MongoDB fornece ferramentas para monitorar o uso do índice. Além disso, o MongoDB também fornece operações de manutenção de índice, como reindexar todos os índices em uma coleção, que podem ser úteis para melhorar o desempenho do índice.
Em resumo, a indexação é uma característica poderosa do MongoDB que permite a execução eficiente de consultas. É essencial entender como criar e manter índices para garantir o desempenho ideal do banco de dados.