planCacheListPlans
¶从4.2版开始弃用。
注意
MongoDB 4.2添加了一个新的聚合管道阶段$planCacheStats
,该阶段
为集合提供计划缓存信息。
的$planCacheStats
聚合阶段优选在下面的方法和命令,已在4.2被弃用:
显示指定查询形状的缓存查询计划。
为了帮助识别具有相同查询形状的慢速查询,从MongoDB 4.2开始,每个查询形状都与一个queryHash关联。的queryHash
是代表查询形状的散列,并且仅依赖于所述查询形状的十六进制字符串。
注意
与任何哈希函数一样,两个不同的查询形状可能会导致相同的哈希值。但是,不同查询形状之间不会发生哈希冲突。
查询优化器仅缓存那些具有多个可行计划的查询形状的计划。
所述mongo
外壳提供了包装
PlanCache.getPlansByQuery()
此命令。
该planCacheListPlans
命令具有以下语法:
该planCacheListPlans
命令具有以下字段:
领域 | 类型 | 描述 |
---|---|---|
query |
文献 | 查询形状的查询谓词。仅谓词的结构(包括字段名)对形状很重要。查询谓词中的值不重要。 |
projection |
文献 | 可选的。与查询形状关联的投影。 |
sort |
文献 | 可选的。与查询形状关联的排序。 |
要查看存在缓存的查询计划的查询形状,请参阅 列出查询形状。
的planCacheListPlans
数据库命令返回输出相同的PlanCache.getPlansByQuery()
方法。
在运行的系统上authorization
,用户必须具有包含planCacheRead
操作的访问权限。