Salve avrei un quesito da porvi.
Ho un metodo tipo questo.
codice:
public void registra(){
for(int i=0; i< table.getRowCount(); i++){
//recupero il codice presente alla riga iesima della prima colonna
String codice = table.getValueAt(i, 0);
MioOggetto oggetto = mappa.get(codice);
db.inserisciArticolo(oggetto);
db.aggiornaMagazzino(oggetto);
}
}
allora la classe db, è la classe che consente interagisce con il mio DB che è MySql 5.0.
Ad ogni iteraa io vado a prendere dalla mappa, un mio oggetto e vado ad eseguire per ogni iterata due operazioni a DB. Una per scalare la quantità dal magazzino "funzione aggiornaMagazzino", e va ad aggiungere un nuovo record in una tabella attraverso il metodo inserisci articolo.
Ora cosa accade all'interno dei metodo aggiornaMagazzino e inserisciArticolo è il seguente.
public static void aggiornaMagazzino(MioOggetto oggetto){
PreparedStatement stmt = conn.prepareStatement("UPDATE ARTICOLO SET QUANTITA = QUANTITA - ? where codice = ?");
stmt.setInt(1, oggetto.getQuantita);
stmt.setString(2,oggetto.getString);
}
ora dal momento che la tabella può contenere in media 10 15 righe, io vado a eseguire a DB 20 / 30 chiamate e questo risulta essere un pò lento.
Ci sarebbe un modo per ridurre il numero di chiamate a DB? Perchè si riscontrano casi di lentezza. Per dirvi sul mio PC che è molto veloce l'operazione avviene quasi instantaneamente ma su un pc un pò più lento, non tanto tale operazione avviene anche in 7 8 secondi, e non va bene.
Mi potete dare qualche consiglio?????
}