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: ,

Leave a Reply

Your email address will not be published. Required fields are marked *

ERROR: si-captcha.php plugin says GD image support not detected in PHP!

Contact your web host and ask them why GD image support is not enabled for PHP.

ERROR: si-captcha.php plugin says imagepng function not detected in PHP!

Contact your web host and ask them why imagepng function is not enabled for PHP.