planCacheClear
定義
planCacheClear
コレクションのキャッシュされたクエリプランを排除します。 クエリシェイプを指定して、そのシェイプのキャッシュされたクエリプランを削除します。 クエリシェイプを省略すると、キャッシュされたクエリプランがすべてクリアされます。
Tip
mongosh
では、このコマンドはPlanCache.clear()
およびPlanCache.clearPlansByQuery()
ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongosh
ユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M0 、M2 、M5 、および Flex クラスターではサポートされていません。詳細については、「 サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { planCacheClear: <collection>, query: <query>, sort: <sort>, projection: <projection>, comment: <any> } )
コマンドフィールド
コマンドは、次の任意フィールドがあります。
フィールド | タイプ | 説明 |
---|---|---|
| ドキュメント | 任意。 クエリシェイプのクエリ述語。 フィールド名を含む述語の構造のみがシェイプにとって重要です。クエリ述部の値は重要ではない。 |
| ドキュメント | |
| ドキュメント | |
| any | 任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。
コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。 |
どのキャッシュされたクエリプランが存在するクエリシェイプを確認するには、「例 」を参照してください。
必要なアクセス権
authorization
で実行されているシステムでは、ユーザーにplanCacheWrite
アクションを含むアクセス権が必要です。
例
クエリシェイプのキャッシュされたプランのクリア
コレクションorders
が次のクエリシェイプを持つ場合:
{ "query" : { "qty" : { "$gt" : 10 } }, "sort" : { "ord_date" : 1 }, "projection" : { }, "queryHash" : "9AAD95BE" }
次の操作により、シェイプに対してキャッシュされたクエリプランがクリアされます。
db.runCommand( { planCacheClear: "orders", query: { "qty" : { "$gt" : 10 } }, sort: { "ord_date" : 1 } } )
コレクションのすべてのキャッシュされたプランのクリア
次の例では、 orders
コレクションのすべてのキャッシュされたクエリプランをクリアします。
db.runCommand( { planCacheClear: "orders" } )