Oracle
 sql >> Baza danych >  >> RDS >> Oracle

PreparedStatement, CallableStatement i uwagi dotyczące wydajności

Z twojego komentarza masz przygotowanie połączenia w swojej pętli. Zaletą instrukcji przygotowanych (i instrukcji wywoływanych) jest to, że można je przygotować raz, a następnie zamienić wartości przekazane w parametrach; za każdym razem, gdy połączenie jest przygotowywane, występuje obciążenie, więc jeśli możesz przenieść to poza pętlę, może się okazać, że czas działania się skróci. Może się okazać, że wyłączenie funkcji AutoCommit również pomaga, ponieważ każde zatwierdzenie wiąże się z obciążeniem.

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

(conn.setAutoCommit(true) robi zobowiązania, ale uważam, że jest to jaśniejsze, aby być jednoznaczne).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grupuj Oracle tylko przez JEDNĄ kolumnę

  2. Jak zaprojektować model danych, który zajmuje się obecnymi pracownikami i prognozowanymi pracownikami?

  3. Funkcja CONCAT() w Oracle

  4. Jak mogę przeanalizować ciąg JSON w PL/SQL?

  5. Upewnij się, że sesja php otrzymuje tę samą sesję oracle podczas korzystania z oci_pconnect