Oracle
 sql >> база данни >  >> RDS >> Oracle

PreparedStatement, CallableStatement и съображения за производителност

От вашия коментар, вие сте подготвили Call във вашия цикъл. Предимство на подготвените изрази (и извиканите изрази) е, че можете да ги подготвите веднъж и след това да размените стойностите, предадени в параметрите; има излишни разходи всеки път, когато повикването е подготвено, така че ако можете да изведете това извън цикъла си, може да откриете, че времето за изпълнение намалява. Може да откриете, че изключването на 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oracle получава всички съвпадащи събития от колона

  2. Как да сортирам асоциативен масив в PL/SQL?

  3. c3p0 виси на getConnection, когато има повреда в мрежата

  4. Oracle10G SQL:Превръщане на колони в редове

  5. Изчисляване на клеймото с лятно часово време