$explainNota
Obsoleto desde v3.0
A partir de la versión3.2, el operador
$explainestá obsoleto enmongosh. Enmongosh, utilicedb.collection.explain()o en sucursor.explain()lugar.El operador proporciona información sobre el plan de consulta. Devuelve un documento que describe el proceso y los índices utilizados para devolver la consulta. Esto puede proporcionar información útil al intentar optimizar una consulta. Para obtener más información sobre la salida,
$explainconsulte cursor.explain().Puede especificar el operador en cualquiera de las siguientes
$explainformas:db.collection.find()._addSpecial( "$explain", 1 ) db.collection.find( { $query: {}, $explain: 1 } ) mongoshEn, también puede recuperar información del plan de consulta a través delexplain()método:db.collection.find().explain()
Comportamiento
$explain ejecuta la consulta para determinar el resultado. Aunque existen algunas diferencias entre ejecutar la consulta con y sin él,$explain $explain generalmente el rendimiento es similar. Por lo tanto, si la consulta es lenta, la operación también lo es.
Además, la operación$explainreevalúa un conjunto de planes de consulta candidatos, lo que puede provocar que la operación$explaintenga un rendimiento diferente al de una consulta normal. Como resultado, estas operaciones suelen proporcionar una descripción precisa de cómo MongoDB ejecutaría la consulta, pero no reflejan su longitud.
Tip
Página derendimiento de MongoDB para obtener información sobre estrategias de optimización.
Tutorial del generador de perfiles de base de datos para obtener información sobre el perfil de la base de datos.