Trabalhar com Índices
Nesta página
Visão geral
Neste guia, você pode aprender como usar índices com o driver C. Os índices podem melhorar a eficiência das queries e adicionar funcionalidade à consulta e ao armazenamento de documentos.
Sem índices, o MongoDB deve digitalizar todos os documentos em uma collection para encontrar os documentos que correspondem a cada query. Essas verificações da collection são lentas e podem afetar negativamente o desempenho do seu aplicativo. No entanto, se existir um índice apropriado para uma query, o MongoDB poderá usar o índice para limitar os documentos que deve inspecionar.
Considerações operacionais
Para melhorar o desempenho da query, crie índices em campos que aparecem com frequência nas queries e operações do seu aplicativo que retornam resultados ordenados. Cada índice adicionado consome espaço em disco e memória quando ativo, portanto, recomendamos que você acompanhe a memória do índice e o uso do disco para o planejamento da capacidade. Além disso, quando uma operação de gravação atualiza um campo indexado, o MongoDB atualiza o índice relacionado, o que pode impacto negativamente o desempenho das operações de gravação.
Você pode usaríndices curinga em seu aplicação MongoDB para executar query de campos cujos nomes não são conhecidos antecipadamente ou são arbitrários. Os índices curinga não são projetados para substituir o planejamento de índice baseado em volume de trabalho.
Para obter mais informações sobre como projetar seu modelo de dados e escolher os índices apropriados para seu aplicação, consulte o guia Modelagem de dados e índices no manual do MongoDB Server .
Dados de amostra
Os exemplos neste guia utilizam a coleção movies
no banco de dados do sample_mflix
a partir dos conjuntos de banco de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas .
Crie um índice
O MongoDB suporta vários tipos de índice diferentes para ajudar a consultar seus dados. As páginas a seguir descrevem os tipos de índice mais comuns e fornecem código de amostra para criar cada tipo de índice.
Remover um Índice
Você pode remover qualquer índice não utilizado, exceto o índice único padrão no campo _id
. Passe uma estrutura mongoc_collection_t
, o nome do índice e uma estrutura bson_error_t
opcional para a função mongoc_collection_drop_index()
para remover um índice de uma collection.
O exemplo seguinte remove um índice com o nome "_title_"
da coleção movies
:
bson_error_t error; if (mongoc_collection_drop_index (collection, "_title_", &error)) { printf ("Successfully dropped index\n"); } else { fprintf (stderr, "Failed to drop index: %s", error.message); }
Observação
Não é possível remover um único campo de um índice de texto composto. Você deve soltar o índice inteiro e criar um novo para atualizar os campos indexados.
Documentação da API
Para saber mais sobre qualquer uma das funções discutidas nesta guia, consulte a seguinte documentação da API: