python-3.x - 使用 python 的模块 psycopg2 打印 SQL 执行计划

标签 python-3.x psycopg2 sql-execution-plan explain

在使用 python 和 psycopg2 模块时,有什么方法可以打印 SQL 执行计划中的信息以在终端中查看?

我尝试了以下方法,但终端中没有显示任何内容:

cur.execute(cur.mogrify('explain analyze ' + sql_query, vals)

并使用 print 返回 None:

print(cur.execute(cur.mogrify('explain analyze ' + sql_query, vals))

来自 this question ,我也尝试了以下方法,但也没有用:

cur.execute("LOAD 'auto_explain';")
cur.execute("SET auto_explain.log_min_duration = {min_ms};".format(min_ms=0))
cur.execute(sql_query, vals)

最佳答案

在发布问题后,我想出了答案。其实很基本。我只需要获取它,就像使用任何其他 SELECT 命令一样。

如果其他人有同样的问题:

cur.execute(cur.mogrify('explain analyze ' + sql_query, vals))
analyze_fetched = cur.fetchall()
print(analyze_fetched)

关于python-3.x - 使用 python 的模块 psycopg2 打印 SQL 执行计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52320038/

相关文章:

Python SQL - 一直说索引 8 'unsupported format character ' 处的 1' even all attributes' f' (0x66) 类型是正确的

python - Postgresql - PSql 速查表

sql - 索引不适用于 Sql Server 中的 LIKE 和 NOT 运算符,这是一个神话吗

sql - Oracle 计划中按本地索引进行分页时每个分区缺少 STOPKEY

sql - 如何在 Oracle IDE 中获取查询执行计划?

python - Python3.5和Python3.6的源码有什么区别?

python - 如何在主窗口中插入表单

python - 在字符串中获取 dis.dis() 的结果

python - Standard scaler 和 MinMaxScaler 之间的区别

python - PostgreSQL - Psycopg2 - copy_from - 编码 "UTF8": 0x00 的字节序列无效