2016-07-28 46 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