Javaを使用してExplainプランを取得するにはどうすればよいのでしょうか。これが必要な理由は、特別なユーザーがレポートを作成できるフレームワークがあるためです。これらのレポートは、その場で説明し、コストを保存したいという巨大なクエリを作成することがあります。このようにして、後で高コストのクエリを分析して最適化することができます。
不正な列の例外を与えるサンプルコード:
ResultSet rs = null;
try {
oracle = ConnectionManager.getConnection(ConnectionManager.Test);
pstmt = oracle.prepareStatement("begin execute immediate
'explain plan for SELECT 1 from Dual'; end;");
rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
}