How to insert quickly multiple records in sqflite
? The standard quickly method is:
await database.insert(table, object.toMap())
But I don't think that insert record one to one with a cycle is a good idea. Or I can insert all list with a transaction?
As I mentioned in the comment, you can use Batch
. Here is the sample.
Batch batch = db.batch();
batch.insert('Test', {'name': 'item'});
batch.update('Test', {'name': 'new_item'}, where: 'name = ?', whereArgs: ['item']);
batch.delete('Test', where: 'name = ?', whereArgs: ['item']);
Now if you are looking for result (it will cost you some memory), you use
results = await batch.commit();
And if you are looking for fast performance, just ignore the result and use
await batch.commit(noResult: true);