$explainObservação
Descontinuado desde v3.0
A partir de3.2 v, o operador
$explainmongoshé preterido no . Em ,mongoshusedb.collection.explain()oucursor.explain().O operador
$explainfornece informações sobre o plano de query. Retorna um documento que descreve o processo e os índices usados para retornar a query. Isso pode fornecer informações úteis ao tentar otimizar uma query. Para detalhes sobre a saída, consulte cursor.explain().Você pode especificar o operador
$explainem um dos seguintes formatos:db.collection.find()._addSpecial( "$explain", 1 ) db.collection.find( { $query: {}, $explain: 1 } ) Em
mongosh, você também pode recuperar informações do plano de query por meio do métodoexplain():db.collection.find().explain()
Comportamento
$explain executa a consulta real para determinar o resultado. Embora haja algumas diferenças entre executar a query com $explain e executar sem, geralmente, o desempenho será semelhante entre os dois. Portanto, se a query for lenta, a operação $explain também será lenta.
Além disso, a operação $explain reavalia um conjunto de planos de query candidatos, o que pode fazer com que a operação $explain tenha um desempenho diferente de uma query normal. Como resultado, essas operações geralmente fornecem uma descrição precisa de como o MongoDB executaria a query, mas não refletem a duração dessas queries.
Dica
Página Desempenho do MongoDB para informações sobre estratégias de otimização.
Tutorial do analisador de banco de dados para obter informações sobre o perfil do banco de dados.