Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

解释时序故障

在此页面上

  • 时序细分
  • 查询区域

executionStats allPlansExecution explain详细模式的 响应包括一个stats 字段,该字段包含有关查询在 查询执行的各个阶段所 花费的 时间 的信息。

时间细分描述了与查询执行区域相关的执行统计信息。 以下字段显示时间细分:

字段
类型
说明
millisElapsed
Long
在该区域执行任务所用的大约时间,包括查询子级在此区域所用的时间。该值是在该区域中执行任务时经过的近似毫秒数。
invocationCounts
Map<String, Long>
调用此区域中包含的任务的次数。 该值是任务名称到其调用计数的映射。

统计信息可用于以下查询领域:

选项
说明
context

与 Lucene 查询执行相关的统计信息。 此区域中枚举了两个任务的调用计数:

createScorer
评分器遍历文档并为每个文档生成分数。 调用createScorer会创建负责评分的对象。 请注意,与此任务相关的时间不是实际对文档进行评分所花费的时间。 计数包括scorerSupplier调用次数。
createWeight
权重存储与查询和IndexSearcher关联的状态。 计数包括createWeight调用次数。

此区域花费的时间与查询的结构有关,而不是基于迭代和评分的结果数量。

例如:

"context" : {
"millisElapsed" : NumberDouble(4.934751),
"invocationCounts" : {
"createWeight" : NumberLong(1),
"createScorer" : NumberLong(10)
}
}
match

与遍历和匹配结果文档相关的统计信息。 此统计信息显示确定下一个匹配的文档所需的时间。 根据查询的性质,匹配结果所花费的时间可能会有很大差异。 此区域中枚举了两个任务的调用计数:

nextDoc
请求前进到结果集的下一个文档。 这涉及识别并移动过去的跳过,或查找下一个匹配项所需的其他任务。 计数包括nextDocadvance调用的次数。
refineRoughMatch
执行更彻底的匹配。 某些查询以双阶段过程执行,其中首先对文档进行“粗略”匹配,仅在满足第一次粗略匹配后才使用第二个更彻底的阶段进行检查。 refineRoughMatch任务是双阶段进程的第二阶段。 计数包括refineRoughMatch调用次数。

例如:

"match" : {
"millisElapsed" : NumberDouble(4.901597),
"invocationCounts" : {
"nextDoc" : NumberLong(541),
"refineRoughMatch" : NumberLong(0)
}
}
score

与结果集中的文档评分相关的统计信息。 此区域中枚举了两个任务的调用计数:

score
对结果集中的每个文档进行评分。 计数包括score调用次数。
setMinCompetitiveScore
忽略分数低于给定值的文档。 表示查询也许能够通过忽略分数低于某个非竞争阈值的文档来减少执行的评分操作数。 计数包括setMinCompetitiveScore调用次数。

例如:

"score" : {
"millisElapsed" : NumberDouble(3.931312),
"invocationCounts" : {
"score" : NumberLong(536),
"setMinCompetitiveScore" : NumberLong(0)
}
}

后退

Lucene 摘要