PlanCache.clearPlansByQuery()

On this page本页内容

Definition定义

PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )

Clears the cached query plans for the specified query shape.清除指定查询形状的缓存查询计划。

The method is only available from the plan cache object of a specific collection; i.e.该方法仅在特定集合的计划缓存对象中可用;即。

db.collection.getPlanCache().clearPlansByQuery( <query>, <projection>, <sort> )

The PlanCache.clearPlansByQuery() method accepts the following parameters:PlanCache.clearPlansByQuery()方法接受以下参数:

Parameter参数Type类型Description描述
querydocumentThe query predicate of the query shape. 查询形状的查询谓词。Only the structure of the predicate, including the field names, are significant to the shape; the values in the query predicate are insignificant.只有谓词的结构(包括字段名)对形状有意义;查询谓词中的值微不足道。
projectiondocumentOptional. 可选。The projection associated with the query shape. 查询形状关联的投影。Required if specifying the sort parameter.如果指定sort参数,则为必填项。
sortdocumentOptional. 可选。The sort associated with the query shape.查询形状关联的排序。

To see the query shapes for which cached query plans exist, see List Query Shapes.要查看存在缓存查询计划的查询形状,请参阅列出查询形状

Required Access所需访问权限

On systems running with authorization, a user must have access that includes the planCacheWrite action.在使用authorization运行的系统上,用户必须具有包含planCacheWrite操作的访问权限。

Example示例

If a collection orders has the following query shape:如果集合orders具有以下查询形状:

{
  "query" : { "qty" : { "$gt" : 10 } },
  "sort" : { "ord_date" : 1 },
  "projection" : { },
  "queryHash" : "9AAD95BE" // Available starting in MongoDB 4.2
}

The following operation removes the query plan cached for the shape:以下操作将删除为形状缓存的查询计划:

db.orders.getPlanCache().clearPlansByQuery(
   { "qty" : { "$gt" : 10 } },
   { },
   { "ord_date" : 1 }
)
Tip提示
See also: 参阅:
←  PlanCache.clear()PlanCache.help() →