Docs Menu
Docs Home
/ /

planCacheClear(データベースコマンド)

planCacheClear

コレクションのキャッシュされたクエリプランを排除します。 クエリシェイプを指定して、そのシェイプのキャッシュされたクエリプランを削除します。 クエリシェイプを省略すると、キャッシュされたクエリプランがすべてクリアされます。

Tip

mongoshでは、このコマンドはPlanCache.clear()およびPlanCache.clearPlansByQuery()ヘルパー メソッドを通じて実行することもできます。

ヘルパー メソッドはmongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドは、M0 および Flex クラスターではサポートされていません。詳細については、「 サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

db.runCommand(
{
planCacheClear: <collection>,
query: <query>,
sort: <sort>,
collation: <collation>,
projection: <projection>,
comment: <any>
}
)

コマンドは、次の任意フィールドがあります。

フィールド
タイプ
説明

query

ドキュメント

任意。 クエリシェイプのクエリ述語。 フィールド名を含む述語の構造のみがシェイプにとって重要です。クエリ述部の値は重要ではない。

projection

ドキュメント

sort

ドキュメント

comment

any

任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。

コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。

collation

ドキュメント

任意。操作に使用する照合を指定します。

照合を指定すると、大文字・小文字やアクセント記号など、文字列を比較するための言語独自のルールを指定できます。

照合オプションの構文は次のとおりです。

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

照合を指定する場合、locale フィールドは必須ですが、その他の照合フィールドはすべて任意です。フィールドの説明については、照合ドキュメントを参照してください。

照合が指定されていなくても、コレクションにデフォルトの照合が設定されている場合(db.createCollection() を参照)には、コレクションの照合が使用されます。

コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって文字列が比較されます。

1 つの操作に複数の照合は指定できません。たとえば、フィールドごとに異なる照合を指定できません。また、ソートと検索を一度に実行する場合、検索とソートで別の照合を使用できません。

どのキャッシュされたクエリプランが存在するクエリシェイプを確認するには、「例 」を参照してください。

authorizationで実行されているシステムでは、ユーザーにplanCacheWriteアクションを含むアクセス権が必要です。

コレクションordersが次のクエリシェイプを持つ場合:

{
"query" : { "qty" : { "$gt" : 10 } },
"sort" : { "ord_date" : 1 },
"collation" : { locale : "fr" },
"projection" : { },
"queryHash" : "9AAD95BE"
}

次の操作により、シェイプに対してキャッシュされたクエリプランがクリアされます。

db.runCommand(
{
planCacheClear: "orders",
query: { "qty" : { "$gt" : 10 } },
sort: { "ord_date" : 1 },
collation: { locale : "fr" }
}
)

次の例では、 ordersコレクションのすべてのキャッシュされたクエリプランをクリアします。

db.runCommand(
{
planCacheClear: "orders"
}
)

戻る

データベース コマンド

項目一覧