将Postgres查询计划转换为xml并使用Eclipse存储到文件中JDBC
问题描述:
根据标题,我目前在eclipse上使用JDBC连接到PostgreSQL。将Postgres查询计划转换为xml并使用Eclipse存储到文件中JDBC
我一直在运行EXPLAIN ANALYZE语句来从postgres自己检索查询计划。但是,是否可以将这些查询计划存储在类似树的结构中?例如主分支和子分支等。我在某处读到,先将它存储到xml文档并从那里操作它是一个好主意。
有没有Java中的API来实现这个目标?谢谢!
答
尝试使用format xml
如
t=# explain (analyze, format xml) select * from pg_database join pg_class on true;
QUERY PLAN
----------------------------------------------------------------
<explain xmlns="http://www.postgresql.org/2009/explain"> +
<Query> +
<Plan> +
<Node-Type>Nested Loop</Node-Type> +
<Join-Type>Inner</Join-Type> +
<Startup-Cost>0.00</Startup-Cost> +
<Total-Cost>23.66</Total-Cost> +
<Plan-Rows>722</Plan-Rows> +
<Plan-Width>457</Plan-Width> +
<Actual-Startup-Time>0.026</Actual-Startup-Time> +
<Actual-Total-Time>3.275</Actual-Total-Time> +
<Actual-Rows>5236</Actual-Rows> +
<Actual-Loops>1</Actual-Loops> +
<Plans> +
<Plan> +
<Node-Type>Seq Scan</Node-Type> +
<Parent-Relationship>Outer</Parent-Relationship> +
...and so on
*“是可以存储在类似于树的结构,这些查询计划?” *是。 --- *“有没有Java中的API来实现这一点?”*它的哪一部分?创建XML?是。将'EXPLAIN ANALYZE'数据转换为XML?不,这是给你写的。 --- *“我在某处读到,先把它存储到xml文件并从那里操作它是个好主意。”*你在哪里读过这些文件?你会做什么操作?操纵XML(DOM)可能不是实现它的最佳方式。 – Andreas
wh不只是使用格式xml?..例如'xplain(analyze,format xml)select * from pg_database join pg_class on true;' –
感谢您的提示!我不知道有格式xml这样的事情!通过使用它可以达到我想要的效果 – Jackelll