2016-07-28 4 views
0

'result'関数のデータオブジェクトから 'duration'プロパティを使用して、クエリの実行時間を測定しています。postgresのEXPLAIN ANALYZEにおけるpg-promiseの 'duration'と実行時間の違いは?

「EXPLAIN ANALYZE」を指定してpgAdminで同じクエリを試しました。

どちらも大きな違いがあります。

誰でもこの理由は言うことができますか?

これは、クエリの実行時間を測定する正しい方法です。

+0

「両方に大きな違いがあります。」の詳細を教えてください。 –

+0

pg-promiseのメソッド結果が提供するクエリ時間の実行時間は85msであり、EXPLAIN ANALYZEは30msです – John

答えて

0

EXPLAIN ANALYSEは、サーバー内部のパフォーマンスパースペクティブです。 pg-promise方法resultによって提供

durationを含む:

  • 実行
  • サーバ
  • 受信にクエリを送信し、クエリを実行するサーバ
  • てクエリを解析するためのクエリを準備します(お客様のEXPLAIN ANALYSEの期間)
  • データをシリアル化して返信を送り返す
  • クライアント
  • デシリアライズすることで、データを受信し、差はどこから来るのデータ

についてのあなたのコードを通知JSON

  • にデータを変換します。

  • +0

    私は実行時間を測定するためにgulpタスクを作成しました。これは、resultメソッドのdurationフィールドをクエリの実行時間として表示します。しかし、私はどのような差異を見つけることができません継続時間の後とインデックス作成の前にどこで私は違いを見つけることができるEXPLAIN ANALYZEを実行するpgAdmin – John

    関連する問題