L'applicazione basata su SQLite
attualmente utilizza transazioni, sia per poter eseguire il rollback che per migliorare le prestazioni. Sto considerando di sostituire tutte le transazioni con i punti di salvataggio. Il motivo è che l'applicazione è multi-thread (sì, sqlite
è configurato per essere thread-safe), e in alcuni casi una transazione potrebbe essere avviata da due thread nello stesso tempo (sullo stesso db).transizione di sqlite dalle transazioni ai punti di salvataggio
- C'è un motivo per non farlo?
- Ci sono delle insidie di cui ho bisogno di essere a conoscenza?
- Posso solo sostituire
BEGIN
,COMMIT
,ROLLBACK
conSAVEPOINT xyz
,RELEASE SAVEPOINT xyz
,ROLLBACK TO SAVEPOINT xyz
?
Ho usato _savepoints all'interno di una transazione per implementare transazioni nidificate_ ma ** ciò che suggerisci è una sciocchezza **. i punti di salvataggio non funzionano in questo modo. –