Scusate se mi intrometto, ma sono curioso
ho creato una tabella in sqlite3 con quattro campi: id, cassa, entrate, uscite.
ho inserito a casaccio circa 1400 record poi ho eseguito i seguenti test:
1° test: eseguo l'update come suggerito da Golia ed effettivamente ci mette parecchio: 1'40'' circa
2° test: eseguo l'update passando al database 200 sql per volta (ho notato che su db come postgres migliora di molto i tempi di esecuzione): purtroppo qui siamo sempre intorno ai 1'40'' circa
3° test: faccio un backup della tabella e la riscrivo completamente con 200 INSERT per volta (ovviamente ricalcolando la cassa come deve fare dex): tempo 1 sec circa.
Il tempo del terzo test sicuramente cambiera' con l'aumentere dei campi, ma non credo che si arrivi al 1'40'' dell'UPDATE.
allego test