Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

Classificação do índice de revisão

Nesta página

  • Como o Performance Advisor sugere e classifica índices
  • Ordem dos campos do índice
  • Limitando índices sugeridos
  • Exemplo: dados de trânsito da cidade de Nova York

O Performance Advisor ordena osíndices que ele sugere por seus respectivos Impact. Impact indica a melhoria de desempenho estimada que o índice sugerido traria.

O Performance Advisor monitora as queries que levam mais de 100 milissegundos para serem executadas e agrupa essas queries em formas de query comuns. O Performance Advisor calcula a ineficiência de cada forma de query considerando as seguintes métricas agregadas de queries que correspondem à forma:

  • Quantidade de tempo gasto executando a query.

  • Número de documentos digitalizados.

  • Número de documentos devolvidos.

  • Tamanho Médio do Objeto.

Para estabelecer índices recomendados, o Performance Advisor usa essas métricas em uma fórmula para calcular o Impact ou a melhoria de desempenho que a criação de um índice correspondente a essa forma de query causaria. Quando o Performance Advisor sugere índices, ele classifica os índices por seu Impact. O Impact é determinado pelo total de bytes desperdiçados lidos.

O tipo de operação de query na forma de query afeta a ordem dos campos utilizados para construir o índice. Em geral, o Performance Advisor classifica os campos por sua cardinalidade.

A tabela a seguir mostra como o Performance Advisor classifica vários tipos de operação por ordem de importância relativa:

Classificação
Tipo de operação
Operador de exemplo

1

Correspondência de igualdade

2

Query de array

3

query de faixa

4

Digite query

5

Existe

6

Todos os outros operadores

7

Sort

O Performance Advisor não sugere índices que tenham mais de 16 campos.

Além disso, o Performance Advisor sugere o índice somente se a diferença entre documentos digitalizados e documentos retornados for maior que 500 para queries impactadas.

O Performance Advisor elimina as duplicações dos índices sobrepostos antes de fazer sugestões. Por exemplo, considere que o Performance Advisor calcula os seguintes índices sugeridos:

{ a : 1 }
{ a : 1, b : 1 }

Como { a : 1 } é um prefixo de { a : 1, b : 1 }, o Performance Advisor sugere apenas { a : 1, b : 1 }. Para saber mais sobre prefixos de índice, consulte Prefixos.

Este exemplo usa um banco de dados chamado cab-db que contém informações sobre as corridas de réplica da cidade de Nova York, com campos para os horários de coleta e entrega, distância da corrida e um detalhamento dos custos da corrida. Um documento típico na collection yellow se parece com o exemplo a seguir:

{
"_id" : ObjectId("5db9daab0b2a17b7706cd6a3"),
"pickup_datetime" : "2014-06-30 02:09:23",
"dropoff_datetime" : "2014-06-30 02:20:36",
"passenger_count" : 2,
"trip_distance" : 3,
"fare_amount" : 12,
"tip_amount" : 2.6,
"total_amount" : 15.6
}

A collection contém mais de 10 milhões de documentos, portanto, um aplicativo que precisa executar queries com base em dados de campos específicos gerará algumas operações muito ineficientes, a menos que você indexe corretamente a collection.

Queries típicas para este aplicativo Atlas Search de documentos que contenham um tempo de entrega específico, combinado com um ou mais campos. Por exemplo:

db.yellow.find({ "dropoff_datetime": "2014-06-19 21:45:00",
"passenger_count": 1,
"trip_distance": {"$gt": 3 }
})

O Performance Advisor recomenda os seguintes índices para melhorar o desempenho:

Captura de tela dos índices sugeridos
clique para ampliar

Observação

Por padrão, o Performance Advisor mostra recomendações de índice para todas as collections em seu cluster. Para restringir as recomendações a uma coleção específica, selecione uma no menu suspenso Collection .

O Performance Advisor lista os índices recomendados em ordem de impacto no desempenho, do maior para o menor.

A primeira recomendações é para um índice em três campos:

  • passenger_count

  • dropoff_datetime

  • trip_distance

Clique no botão Create Index para criar o índice com quaisquer opções adicionais desejadas. Para saber mais sobre como criar um índice no Performance Advisor, consulte Criar índices sugeridos.

Se você criar esse índice, removerá a necessidade de o mecanismo de banco de dados verificar toda a coleção para encontrar documentos que correspondam à query, o que melhora o desempenho. Queries com a forma mostrada no exemplo retornam resultados em 50 milissegundos ou menos na coleção indexada, em vez de vários segundos na coleção não indexada.

Observação

Você também pode criar índices com a UI do Atlas .

Voltar

Assistente de desempenho