web-development-kb-eu.site

Wie kann ich SQL-Abfragen mit psql zeitlich festlegen?

Ich möchte einige SQL-Abfragen mit meiner PostgreSQL-Datenbank vergleichen. Gibt es eine Möglichkeit, SQL-Abfragen mit psql zeitlich abzustimmen?

258
Jonas

Schalten Sie einfach das Timing ein, indem Sie Folgendes eingeben:

\timing

349
Caleb

Das Timing kann mit \timing An der psql-Eingabeaufforderung aktiviert werden (wie Caleb bereits sagte).

Wenn Sie mit 8.4 oder höher arbeiten, Sie können \timing Ein optionales Ein/Aus-Argument hinzufügen , was hilfreich sein kann, wenn Sie in der Lage sein möchten Timing einstellen) in .psqlrc - Sie können dann \timing on explizit in einem Skript festlegen, in dem \timing es sonst deaktivieren würde

Die Zeit, die \timing return enthält auch die Netzwerklatenz, wenn Sie eine Verbindung zu einem Remote-Server herstellen.

Wenn Sie das nicht wollen und auch die Abfrageausgabe nicht benötigen, verwenden Sie besser EXPLAIN ANALYZE , der den Abfrageplan mit den Planerschätzungen plus den tatsächlichen Ausführungszeiten ausgibt.

beispielsweise, EXPLAIN ANALYZE SELECT foo from bar ;

17
Devi