sql >> Database >  >> RDS >> Oracle

PreparedStatement, CallableStatement en prestatieoverwegingen

Uit uw opmerking heeft u prepareCall in uw lus. Een voordeel van voorbereide instructies (en opvraagbare instructies) is dat u deze één keer kunt voorbereiden en vervolgens de waarden die in de parameters zijn doorgegeven, kunt verwisselen; er is overhead elke keer dat het gesprek wordt voorbereid, dus als u dat buiten uw lus zou kunnen brengen, zou u kunnen merken dat de looptijd korter wordt. Het kan zijn dat het uitschakelen van AutoCommit ook helpt, omdat er bij elke vastlegging overhead is.

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

(conn.setAutoCommit(true) commit, maar ik vind het duidelijker om expliciet te zijn).



  1. JSON_ARRAY() Functie in Oracle

  2. Tijdens het importeren van mysqldump-bestand ERROR 1064 (42000) nabij ' ■/ ' op regel 1

  3. Forward engineer doet niets in de MySQL Workbench

  4. Hoeveel significante cijfers moet ik in mijn database opslaan voor een GPS-coördinaat?