1. arbeite mit Transaktionen
1.1. damit die Transaktion nicht zu groß wird, kannst du nach X Datensätzen ein commit ausführen. Nach wie vielen Datensätzen genau der richtige Zeitpunkt ist, musst du ausprobieren
2. arbeite mit prepared-statements
2.1. dafür musst du auch mit Parametern arbeiten, statt dir den
SQL-Befehl ständig neu zusammenzubasteln...
3. nach jedem Datensatz ein Repaint? Ich würde das Repaint vielleicht nur nach allen 500 Datensätzen oder so durchführen (falls überhaupt erforderlich)