![](/img/trans.png)
[英]Get the query plan using jdbc PreparedStatement on sql server
[英]Retrieve query execution plan text from a MSSQL server using JDBC
我有以下僅返回語句本身的Java方法。 如何使用JDBC檢索MSSQL查詢執行計划文本?
public String explainStatementMssql(String sqlStatement) {
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
StringBuilder output = new StringBuilder();
try {
connection = Utilities.getConnection();
connection.setAutoCommit(false);
statement = connection.createStatement();
statement.execute("SET SHOWPLAN_TEXT ON");
statement.executeQuery(sqlStatement);
rs = statement.getResultSet();
while (rs.next()) {
output.append(rs.getString(1)).append("\n");
}
statement.execute("SET SHOWPLAN_TEXT OFF");
connection.commit();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
Utilities.close(rs, statement, connection);
}
return output.toString();
}
環境: java -version
java version "1.7.0_101"
OpenJDK Runtime Environment (IcedTea 2.6.6) (7u101-2.6.6-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
jtds-1.2.6.jar
Microsoft SQL Server 2012
您是否看過以下文章中的第一個示例: 在SQL Server上使用jdbc PreparedStatement獲取查詢計划
它沒有使用jtds,但是我敢肯定,較小的調整應該可以為您提供所需的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.