2016-07-28 3 views
0

Ich verwende die 'duration' Eigenschaft aus dem Datenobjekt der 'result' Funktion, um die Dauer der Ausführung meiner Abfrage zu messen.Unterschied zwischen Pg-Versprechen 'Dauer' und Ausführungszeit in EXPLAIN-ANALYSE von Postgres?

Ich versuchte die gleiche Abfrage in pgAdmin mit "EXPLAIN ANALYSE".

Beide haben einen großen Unterschied.

kann jemand sagen, warum ist das?

ist der richtige Ansatz, um die Ausführungsdauer meiner Abfrage zu messen.

+0

Könnten Sie mehr Details über die 'Beide haben einen großen Unterschied.'? –

+0

Ausführungszeit einer Abfrage Dauer von Methode Ergebnis von Pg-Versprechen ist 85ms und EXPLAIN ANALYZE ist 30ms – John

Antwort

0

EXPLAIN ANALYSE ist eine Leistungsperspektive nur für den Server.

duration durch Verfahren bereitgestellt result von pg-promise umfasst:

  • die Abfrage für die Ausführung vorbereitet
  • die Abfrage in den durch den Server
  • Ausführen der Abfrage
  • Empfangen und Parsen der Abfrage-Server zu senden (Ihre EXPLAIN ANALYSE Dauer)
  • Serialisierung der Daten und Senden der Antwort zurück
  • vom Client zum Empfangen von Daten
  • Deserialisieren und Konvertieren von Daten in JSON
  • Ihren Code über die Daten anmelde

Das ist, wo der Unterschied herkommt.

+0

Ich habe eine Schluck-Aufgabe geschrieben, um die Ausführungsdauer zu messen, in der ich das Dauerfeld der Ergebnismethode als die Abfrage Ausführungszeit drucken. Aber ich kann keinen Unterschied zwischen der Zeit nach und vor der Indizierung finden, da ich den Unterschied finden kann, wenn ich EXPLAIN ANALYSE in pgAdmin ausführe – John