10
Javaを使用してどのようにExplainプランをフェッチできるのだろうか。なぜなら、特別なユーザーがレポートを作成できるフレームワークがあるからです。これらのレポートでは、膨大なクエリが作成されることがあり、その場で説明し、コストを保存したい場合があります。このようにして、後でコストの高いクエリを分析して最適化することができます。私に違法列例外を与えるJDBC Oracle - クエリーのための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));
}
ありがとうございます!これは機能します。プランテーブル全体ではなくコストのみを取得する方法を知っていますか? –
dbms_xplan.display()のドキュメントをご覧ください。パラメータを渡して、必要な情報だけを選択することができます –