了解EXPLAIN命令的时间格式-Postgres


14

当我在给定查询上运行EXPLAIN ANALYZE命令时,我很难解释输出的时间值。例如(实际时间= 8163.890..8163.893)。内部小数代​​表重复字符吗?抱歉,这可能是一个讨厌的问题,但是我想确保我正确地解释了结果。

   ->  GroupAggregate  (cost=2928781.21..2929243.02 rows=1 width=27712) (actual time=8163.890..8163.893 rows=1 loops=1)

Answers:


19

actual time=8163.890..8163.893 手段

初始化该步骤(“启动”)花费了8163.890ms,
运行整个步骤花费了8163.893ms

因此,在那种情况下,几乎所有的工作都在该步骤的启动阶段完成。

编辑
将相同的逻辑“应用于”成本信息

cost=2928781.21..2929243.02 手段:

初始化此步骤
的成本估计为:2928781.21估计执行该步骤的成本:2929243.02

(请注意,“费用”没有单位-这是一个任意值)

此处也对此进行了说明:http : //www.postgresql.org/docs/current/static/using-explain.html


感谢您提供的信息和链接- 尽管该文档有些过时了,但我也发现该文档很有帮助
Jmoney38'9

感谢您的链接。该文档并不是真的过时。较新版本的PostgreSQL在计划中显示了更多信息,但基本原理仍然适用。
a_horse_with_no_name

你如何解释的解释与此分析嵌套循环:(actual time=0.002..0.002 rows=0 loops=119878)?我想每个循环的平均数舍入为零行是无济于事的,但是这些时间是否真的意味着执行成本如此微不足道,以至于它完全由启动成本组成?
达沃斯

5

第一个数字是该步骤中返回第一行所花费的时间。第二个数字是返回最后一行所花费的时间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.