Es gibt drei Dinge, die Sie tun müssen, um die Einfügungen zu beschleunigen:
sqlite3_open
außerhalb der Schleife. Momentan wird die Schleife nicht angezeigt, daher nehme ich an, dass sie außerhalb Ihres Code-Snippets liegt BEGIN TRANSACTION
und COMMIT TRANSACTION
Aufrufe hinzu - Sie müssen die Transaktion vor der Einfügeschleife beginnen und sie beenden, unmittelbar nachdem die Schleife beendet ist. formatStringQueryInsertWithTable
wirklich parametrisiert machen - Derzeit scheint es so zu sein, dass Sie keine vorbereiteten Anweisungen in vollen Zügen verwenden, denn obwohl Sie sqlite3_prepare_v2
verwenden, haben Sie in Ihrem Code keine Aufrufe von sqlite3_bind_XYZ
. Hier ist ein schöner Post, der Ihnen zeigt, wie Sie all das oben genannte tun . Es ist einfach C, aber es wird als Teil eines Objective-C-Programms gut funktionieren.
%Vor%Tags und Links objective-c sqlite ios performance ipad