Estratégias de indexação
Os melhores índices para seu aplicativo devem levar em consideração vários fatores, incluindo os tipos de queries que você espera, a proporção de leituras e gravações e a quantidade de memória livre em seu sistema.
Ao desenvolver sua estratégia de indexação, você deve ter uma compreensão profunda das queries do seu aplicativo. Antes de construir índices, mapeie os tipos de queries que você executará de forma que você possa construir índices que referenciam estes campos. Os índices têm um custo de desempenho, mas valem mais do que o custo de queries frequentes em grandes conjuntos de dados. Considere a frequência relativa de cada query no aplicativo e se a query justifica um índice.
A melhor estratégia geral para projetar índices é traçar o perfil de uma variedade de configurações de índices com conjuntos de dados semelhantes aos que você executará na produção para ver quais configurações têm o melhor desempenho. Inspecione os índices atuais criados para suas collections para garantir que elas ofereçam suporte às suas queries atuais e planejadas. Se um índice não for mais usado, elimine-o.
Geralmente, o MongoDB usa apenas um índice para atender à maioria das consultas. No entanto, cada cláusula de uma consulta do $or
pode utilizar um índice diferente.
Os seguintes documentos introduzem estratégias de indexação:
- Usar a regra ESR (Equality, Sort, Range, Igualdade, classificação, faixa)
- A regra ESR é um guia para criar índices que suportem suas queries eficazmente.
- Crie índices para oferecer suporte a suas queries
- Um índice suporta uma query quando o índice contém todos os campos verificados pela query. A criação de índices que suportam queries resulta em um grande aumento no desempenho da query.
- Usar índices para classificar os resultados da query
- Para dar suporte a queries eficientes, use estas estratégias ao especificar a ordem sequencial e a ordem de classificação dos campos de índices.
- Criar índices para garantir a seletividade da consulta
- Seletividade é a capacidade de uma query restringir os resultados usando o índice. A seletividade permite que o MongoDB use o índice para uma parte maior do trabalho associado ao preenchimento da query.