sql >> データベース >  >> RDS >> Oracle

PreparedStatement、CallableStatement、およびパフォーマンスに関する考慮事項

    あなたのコメントから、あなたはあなたのループの中にprepareCallを持っています。プリペアドステートメント(および呼び出し可能ステートメント)の利点は、一度プリペアドしてから、パラメーターで渡された値を交換できることです。呼び出しが準備されるたびにオーバーヘッドが発生するため、それをループの外に出すことができれば、実行時間が短縮されることがあります。コミットごとにオーバーヘッドがあるため、AutoCommitをオフにすることも役立つ場合があります。

    conn.setAutoCommit(false);
    CallableStatement stmt = conn.prepareCall(sql);
    while(true) {
        stmt.setInt(1, value);
        stmt.execute();
    }
    conn.commit();
    conn.setAutoCommit(true);
    

    conn.setAutoCommit(true) コミットしますが、明示的である方が明確です。



    1. PythonからのSSHトンネルが自動的に閉じます

    2. OracleSQLはデータ内の文字¡を検索します

    3. SQL Server:sp_who2の出力をフィルター処理します

    4. MicrosoftAccessでレポートヘッダーにロゴを追加する方法