この記事では、MongoDB の実行計画の表示に関する知識を共有し、皆様のお役に立てれば幸いです。 MongoDB の Explain() 関数は、クエリ関連の情報を表示するのに役立ちます。これにより、検索のボトルネックを迅速に見つけて解決することができます。この記事では、Explain() のいくつかの使用法とクエリ結果の意味を見ていきます。
1. MongoDB を Linux にインストールする
2. MongoDB の基本操作
4. MongoDB ドキュメントの更新操作
5. MongoDB ドキュメントのクエリ操作
7. MongoDB ドキュメント クエリ操作 (3)
基本的な使用法
db.sang_collect.find({x:1}).explain()
は find() 関数に直接続き、 find() 関数の実行計画を表示することを示します。 結果は次のとおりです。 1 つはクエリ プランである queryPlanner、もう 1 つは MongoDB サービスに関する情報である serverInfo です。ここには多くのパラメーターが関係しています。それらを一つずつ見てみましょう。 queried
indexFilterSet
parsedQuery | クエリ条件、ここではx=1です |
---|---|
最高の実行プラン | |
クエリメソッド、一般的なものがありますCOLLSCAN/フルテーブルスキャン、IXSCAN/インデックススキャン、FETCH/インデックスに基づくドキュメントの取得、SHARD_MERGE/マージシャード結果、IDHACK/_idのクエリ | |
フィルタ条件 | |
検索方向 | |
拒否された実行プラン | |
MongoDBサーバー情報 | |
異なるパラメータを追加 | explain()は、異なるパラメータを設定することで、より詳細なクエリプランを表示することもできます。 |
queryPlanner はデフォルトのパラメーターです。queryPlanner パラメーターを追加した後のクエリ結果は、上で確認したクエリ結果であるため、ここでは詳しく説明しません。 | executionStats |
上で紹介したいくつかのパラメーターに加えて、次の意味を持つexecutionStats パラメーターもあります: | |
意味 |
実行が成功したかどうか
nReturned
executionTimeMillis
totalKeysExinated | インデックススキャンの数 |
---|---|
ドキュメントスキャンの数 | |
このカテゴリは実行ステータスを説明します | |
スキャン方法、具体的なオプションの値は上記と同じです | |
クエリ結果の数 | |
推定所要時間 | |
作業単位の数、クエリは小さな作業単位に分割されます | |
最初に返される結果の数 | |
Documentation チェックの数はtotalDocsExaminedと一致しています | |
allPlansExecution | allPlansExecutionは、基本的にすべての実行プランを取得するために使用されますので、行きません。ここで詳しく説明します。 |
関連する推奨事項: | MongoDB のヒントと注意事項の概要 |
MongoDB の固定コレクションの詳細な説明 | |