SQLite Insert fulminei

July 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 *

ERRORE: il plugin si-captcha.php informa che il supporto GD image non é stato rilevato in PHP!

Contatta il tuo fornitore del servizio di hosting e domada perché il supporto GD image non sia stato abilitato per il PHP.

ERRORE: il plugin si-captcha.php informa che la funzione imagepng non é stata rilevata in PHP!

Contatta il tuo fornitore del servizio di hosting e domada perché la funzione imagepng non sia stata abilitata per il PHP.