$explain
項目一覧
$explain
注意
v 3.0以降では非推奨
v 3.2以降、
$explain
演算子はmongosh
では非推奨です。mongosh
では、代わりにdb.collection.explain()
またはcursor.explain()
を使用してください。$explain
演算子はクエリプランに関する情報を提供します。 クエリを返すために使用されたプロセスとインデックスを記述するドキュメントが返されます。 クエリを最適化しようとする際に役立つインサイトが得られる場合があります。 出力の詳細については、 cursor.explain() を参照してください。$explain
演算子は次のいずれかの形式で指定できます。db.collection.find()._addSpecial( "$explain", 1 ) db.collection.find( { $query: {}, $explain: 1 } ) mongosh
では、explain()
メソッドを使用してクエリプラン情報を取得することもできます。db.collection.find().explain()
動作
$explain
は実際のクエリを実行して結果を判断します。 $explain
を使用してクエリを実行する方法と を使用せずにクエリを実行する方法にはいくつか違いがありますが、一般的にこれら 2 つ間のパフォーマンスは同程度になります。 したがって、クエリが遅い場合、 $explain
操作も遅くなります。
さらに、 $explain
操作は候補クエリプランのセットを再評価するため、 $explain
操作のパフォーマンスは通常のクエリと異なる可能性があります。 その結果、これらの操作は通常、MongoDB がクエリを実行する方法について正確な説明を提供しますが、クエリの長さは反映していません。
Tip
以下も参照してください。
最適化戦略に関する情報については、「 MongoDB パフォーマンス」のページを参照してください。
データベース プロファイルの詳細については、「データベースプロファイラー」のチュートリアルを参照してください。