Câu trả lời:
Thời gian có thể được bật với \timing
dấu nhắc psql (như Caleb đã nói).
Nếu bạn ở trên 8.4 trở lên, bạn có thể thêm một đối số bật / tắt tùy chọn\timing
, điều này có thể hữu ích nếu bạn muốn có thể đặt thời gian trên .psqlrc - sau đó bạn có thể đặt \timing on
rõ ràng trong một tập lệnh trong đó \timing
chuyển đổi đơn giản nó tắt
Thời gian \timing
trả về cũng bao gồm độ trễ mạng, nếu bạn đang kết nối với máy chủ từ xa.
Khi bạn không muốn điều đó và cũng không cần đầu ra truy vấn, hãy sử dụng tốt hơn EXPLAIN ANALYZE
, nó đưa ra kế hoạch truy vấn với các ước tính của trình hoạch định cộng với thời gian thực hiện thực tế.
ví dụ, EXPLAIN ANALYZE SELECT foo from bar ;
explain analyze
năng suất gấp đôi khoảng gấp đôi những gì tôi thấy khi sử dụng \timing
, điều này trái ngược với những gì tôi mong đợi dựa trên các nhận xét ở đây về độ trễ của mạng. Tôi nghi ngờ rằng có chi phí hoạt động bình thường analyze
làm tăng thêm thời gian truy vấn. Dựa trên các tài liệu, tôi nghĩ rằng EXPLAIN (ANALYZE, TIMING OFF) SELECT foo FROM bar
sẽ cung cấp cho bạn thông tin thời gian hữu ích hơn. Xem postgresql.org/docs/9.6/static/sql-explain.html để biết chi tiết.