В sqflite есть пакетный API для извлечения, который сокращает время между исходным кодом и кодом дротика, что может повысить производительность.
Пример кода:
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']);
results = await batch.commit();
Массовая вставка, как это:
batch = db.batch();
for(int i=0; i<length; i++) {
var data = DataDefCatMaster(
deF_CAT_ID: model.data[i].deF_CAT_ID,
description: model.data[i].description,
in_use: model.data[i].in_use,
sortOrder: model.data[i].sortOrder
);
batch.insert('table_name', data);
}
results = await batch.commit();
//or
//await batch.commit(noResult: true);
// if you dont want result, this will improve performance as well.
Вы по-прежнему будете использовать цикл for, но производительность с вышеупомянутым кодом будет намного выше.