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

Mecanismo de execução de consulta baseado em slot

Nesta página

  • Queries qualificadas para o mecanismo de execução baseado em slots
  • Determine qual mecanismo de query foi usado
  • Verifique a query e explique os resultados
  • Verificar registros de query lenta

Novidades na versão 5.1.

Para encontrar e retornar resultados de query, o MongoDB usa um dos seguintes mecanismos de consulta:

  • O mecanismo de query clássico

  • O mecanismo de execução de queries baseado em slots, que está disponível para algumas queries a partir do MongoDB 5.1.

O MongoDB seleciona automaticamente o mecanismo para executar a query. Não é possível especificar manualmente um mecanismo para uma query específica.

O MongoDB pode usar o mecanismo de execução de query baseado em slot para um subconjunto de queries, desde que determinadas condições sejam atendidas. Na maioria dos casos, o mecanismo de execução baseado em slot fornece desempenho aprimorado e custos de CPU e memória mais baixos em comparação com o mecanismo de query clássico.

O MongoDB usa o engine clássico para queries que não são elegíveis para o mecanismo de execução de queries basedo em slots.

O MongoDB determina a elegibilidade para o uso do mecanismo de execução baseado em slots com base em cada query e considera o suporte para cada operador e expressões presentes na query. Por exemplo, dois pipelines comuns que utilizam mecanismo de execução baseado em slot são agregações com $group ou $lookup estágios. No entanto, o suporte para o mecanismo de execução baseado em slots é específico da versão e está mudando ativamente.

Para saber se a sua query usou o mecanismo de execução baseado em slots, consulte a seção Determinarqual mecanismo de query foi usado.

Há algumas maneiras de determinar se o engine clássico ou o engine de execução baseado em slot foi usado para executar uma query.

Os resultados explicativos de uma query diferem dependendo do mecanismo de query usado. Por exemplo, os resultados explicativos das queries executadas usando o mecanismo de execução baseado em slots incluem o campo explain.queryPlanner.winningPlan.slotBasedPlan.

Para obter mais informações sobre as diferenças nos resultados de explicação entre os mecanismos de query, consulte Explicar a estrutura de saída.

A partir do MongoDB 6.2, as mensagens de registro de operação lenta incluem um campo queryFramework que indica qual mecanismo de consulta executou a consulta:

  • queryFramework: "classic" indica que o mecanismo clássico executou a consulta.

  • queryFramework: "sbe" indica que o mecanismo de execução de consulta baseado em slot executou a consulta.

Para ver um exemplo de mensagem de registro para uma query que usou o mecanismo de execução baseado em slot, consulte Operação lenta.

Voltar

Sessões do servidor