Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Manual do banco de dados
/ /

Desempenho da consulta

Otimize suas queries do MongoDB para garantir o melhor desempenho possível para seu aplicação. Isso pode ocorrer durante o desenvolvimento e mais tarde, à medida que o uso de dados e a demanda mudam. À medida que as coleções crescem, uma revisão periódica do desempenho da consulta pode ajudar a determinar quando os clusters precisam ser dimensionados ou reduzidos.

Quando você envia uma query para o MongoDB, o servidor interpreta a query, cria um plano de query para determinar a melhor forma de recuperar os dados, executa o plano e retorna os resultados para o cliente.

Para melhorar o desempenho da query, considere como o MongoDB cria e executa o plano para suas queries específicas e identifica áreas com problemas, como campos que se beneficiariam de um índice, filtros ineficientes e problemas em escala.

Os índices armazenam valores de campos individuais ou conjuntos de campos de uma coleção em uma estrutura de dados separada. Em operações de leitura, eles permitem que o MongoDB pesquise no índice para identificar documentos relevantes em vez de toda a coleção. Nas operações de gravação, o MongoDB deve gravar a alteração na coleção e atualizar o índice.

Em muitos casos, o uso de índices pode acelerar sua query. Essa melhoria depende de quais campos são indexados e do que suas queries usam como filtros. Por exemplo, se uma query não aplicar projeções ou filtros, uma verificação de collection poderá ser mais eficiente do que uma varredura de índice.

Para mais informações, consulteÍndices .

  • Encontrar queries lentas

O Analisador de query do Atlas ajuda a diagnosticar e monitorar queries de execução lenta utilizando dados de registro do seu cluster. Ele agrega, filtra e visualiza estatísticas de desempenho em um gráfico de dispersão por meio da interface de Query Insights.

Você pode achar essa visualização mais conveniente para identificar queries lentas e outliers de desempenho do que o Analisador de Banco de Dados.

Com o Analisador de query, você obtém uma visão macro da carga do aplicação . Isso pode ajudá-lo a identificar quais queries estão lentas e fornecer alguns insights sobre como você pode melhorar o desempenho delas, por exemplo:

  • Quanto tempo a query leva para ser executada

  • O número de documentos examinados pela query

  • Se a query usa um índice

Para mais informações, consulte Monitorar o Desempenho da Query com o Analisador de Query.

O profiler de banco de dados coleta informações detalhadas sobre as queries executadas no MongoDB, que armazena na coleção limitada system.profile.

Importante

O profiler de banco de dados pode afetar o desempenho do banco de dados e o uso do disco. Considere as implicações de desempenho e armazenamento antes de habilitá-lo em uma implementação de produção.

Para obter mais informações, consulte Sobrecarga do criador de perfil.

Com o profiler de banco de dados, você obtém uma microvisualização das queries lentas na carga atual do aplicação . Isso pode fornecer alguns insights sobre como você pode melhorar o desempenho da query, como:

  • Quanto tempo a query leva para ser executada

  • O número de documentos examinados pela query

  • Se a query usa um índice

Para obter mais informações, consulte Saída do analisador de banco de dados.

Os find() métodos e fornecem um método, que pode ser usado para recuperar o plano de aggregate() explain() query e as estatísticas de execução de uma query específica ou operação de agregação .

O método explain() permite identificar possíveis problemas com queries específicas, como:

  • Filtros ineficientes

  • Uso ineficaz do índice

  • Possíveis problemas de desempenho em escala

O estágio de agregação $collStats fornece informações estatísticas sobre coletas específicas e seu uso. Isso pode ser útil para identificar problemas de índice e desempenho.

Isso pode fornecer informações úteis, como:

  • Uso de armazenamento para a coleção e seus índices

  • O tamanho médio dos documentos

O estágio de agregação $indexStats fornece informações estatísticas sobre o uso do índice por uma coleção. Isso pode ajudá-lo a identificar problemas específicos de uso do índice, como:

  • Se as queries usam o índice e com que frequência

  • Se um índice é redundante

Voltar

Ajuste de desempenho

Nesta página