如何在MongoDB中测量查询运行时长?对应MySQL时长字段疑问
MongoDB Profile时间字段与MySQL Duration的对应关系
嘿,刚好对这个点比较熟悉,我来给你拆解清楚!
当你用show Profile查看MongoDB的性能分析结果时,通常会看到三个核心时间字段,它们的含义和与MySQL Duration的对应关系如下:
millis:这就是你要找的、对应MySQL中Duration时长的字段。它统计的是整个查询操作从发起开始,到完全完成(包括获取锁、生成查询计划、执行查询、返回结果等所有环节)的总耗时,单位是毫秒,和MySQL的Duration统计的全流程时间逻辑完全一致。executionTimeMillis:这个字段只统计MongoDB查询引擎实际执行数据检索、匹配的时间,不包括等待锁、生成查询计划这些前置/等待环节的耗时,是查询执行阶段的纯耗时。planningTimeMillis:专门统计MongoDB查询优化器生成最优查询计划所花费的时间,属于查询准备阶段的耗时。
举个例子,你执行的db.blogpost.find({post:/.* NATO .*/i})查询,millis会包含从你发起查询,到MongoDB把20条结果返回给你的全部时间,这和MySQL里执行类似查询后显示的Duration是同一个统计维度。
内容的提问来源于stack exchange,提问作者sunny
相关产品推荐
相关产品推荐

