SQLite Insert fulminei

luglio 18, 2011
By

Se vi capita di fare insert di dump in sqlite probabilmente sperimentate una lentezza estenuante

Questo capita perché ogni insert scatena una transazione a sé stante e questo di base causa l’attesa di un giro completo del piatto del disco per finalizzare la transazione.

Per evitare questo comportamento basta aprire il dump (ad esempio un dump di postgres ottenuto con la flag –insert), posizionarsi appena prima del primo insert e dire:

BEGIN TRANSACTION;

….

Dopo tutti gli insert chiudere la transazione con

COMMIT TRANSACTION;

Et voilà, da 60 insert al secondo a svariate migliaia

Thx to the SQLite FAQ

Tags: ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


*