2016-07-28 52 views
0

我正在使用'result'函数的数据对象的'duration'属性来衡量我的查询执行的持续时间。postgres的EXPLAIN ANALYSE中pg-promise'duration'和执行时间之间的区别?

我试着用“EXPLAIN ANALYSE”在pgAdmin中进行相同的查询。

两者都有很大的差异。

谁能说这是为什么?

这是衡量我的查询执行持续时间的正确方法。

+0

您能否提供更多关于“两者有很大区别”的细节? –

+0

由pg-promise的方法结果提供的查询持续时间的执行时间为85ms,并且EXPLAIN ANALYZE为30ms – John

回答

0

EXPLAIN ANALYSE是仅服务器内部的性能透视图。

duration通过pg-promise方法result提供包括:

  • 制备查询执行
  • 将查询发送到服务器
  • 接收并且由服务器
  • 执行查询解析所述查询(您的EXPLAIN ANALYSE持续时间)
  • 序列化数据并发回响应
  • 客户端
  • 解串并转换数据接收数据到JSON
  • 通知有关数据

这就是区别来自于你的代码。

+0

我已经编写了一个测量执行持续时间的gulp任务,其中将result方法的持续时间字段作为查询执行时间进行打印。但我无法找到任何差异持续时间之后和索引之前,因为我可以找到差异,当我运行EXPLAIN ANALYZE在pgAdmin – John

相关问题