如何从Postgres获取查询计划信息到JDBC
我想从您解释查询时获得的查询计划中捕获成本数字。 有没有办法在Java ResultSet(或类似对象)中获取此数据?
当然,只需将其作为常规声明运行:
Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("explain analyze select * from foo"); while (rs.next()) { System.out.println(rs.getString(1)); }
除了上面提供的答案,我建议您使用在PostgreSQL 9.0及更高版本中将EXPLAIN计划格式化为XML的能力。
EXPLAIN(分析,格式化xml)SELECT …
这将为您提供解释输出,您可以通过将其作为XML进行操作来更轻松地使用Java。