Desidero inserire in blocco circa 700 record nel database Android al prossimo aggiornamento. Qual è il modo più efficiente per farlo? Da vari post, so che se utilizzo le istruzioni Insert
, dovrei includerle in una transazione. C'è anche un post sull'utilizzo del proprio database, ma ho bisogno di questi dati per andare nel database Android standard della mia app. Si noti che questo sarebbe fatto solo una volta per dispositivo.Inserimento di massa su dispositivo Android
Alcune idee:
mettere un po 'di istruzioni SQL in un file, leggerli in una linea alla volta, e EXEC SQL.
Inserire i dati in un file CSV, o JSON, o YAML, o XML, o qualsiasi altra cosa. Leggere una riga alla volta e fare
db.insert()
.Capire come eseguire un'importazione e eseguire un'unica importazione dell'intero file.
Creare un database SQL contenente tutti i record, copiarlo sul dispositivo Android e in qualche modo unire i due database.
[EDIT] Metti tutte le istruzioni SQL in un singolo file in res/values come un'unica grande stringa. Quindi leggi loro una riga alla volta ed esegui l'SQL.
Qual è il modo migliore? Ci sono altri modi per caricare i dati? Sono 3 e 4 anche possibili?
Grazie! Questa ottimizzazione ha aumentato l'importazione di un gruppo di record di 2x. –
Ho letto il blog e i commenti. Entrambi hanno fornito dettagli sufficienti per inserire tutti i miei dati entro un paio di secondi. Molte volte meglio di diversi minuti. – Knossos
Ora che 'InsertHelper' è deprecato, siamo costretti a usare' SQLiteStatement'? –