![](/img/trans.png)
[英]How do i analyze the running time of a function with a for loop with an if statement?
[英]Getting results and explain analyze output at the same time from Postgresql by running the statement once
有什么方法可以一次執行語句並獲得結果並解釋分析輸出嗎? 例如,我不想運行SQL,獲取結果,然后將EXPLAIN ANALYZE
添加到語句的開頭並再次運行以進行解釋計划。 如果psycopg2軟件包中有東西,那就太好了。
一種方法-激活auto_explain並解析日志。 但是也許有一個更好的主意
如果您具有超級用戶訪問權限,則可以使用auto_explain
在客戶端會話中獲取結果:
test=# LOAD 'auto_explain';
LOAD
test=# SET log_min_messages = PANIC; -- don't log it
SET
test=# SET auto_explain.log_min_duration = 0;
SET
test=# SET auto_explain.log_analyze = on;
SET
test=# SET auto_explain.log_buffers = on;
SET
test=# SET client_min_messages = LOG;
SET
test=# SET SESSION AUTHORIZATION laurenz;
SET
test=> SELECT oid FROM pg_class WHERE relname = 'pg_class';
LOG: duration: 0.040 ms plan:
Query Text: SELECT oid FROM pg_class WHERE relname = 'pg_class';
Index Scan using pg_class_relname_nsp_index on pg_class (cost=0.28..8.29 rows=1 width=4) (actual time=0.019..0.021 rows=1 loops=1)
Index Cond: (relname = 'pg_class'::name)
Buffers: shared hit=3
oid
------
1259
(1 row)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.