我正在开发 android 应用程序,这里我有大量的数据,大约 10000 条记录,服务器中有 10 个字段,我需要获取这些数据并将其存储在我的本地数据库中,所以为此我尝试通过获取json形式的数据解析它并一一插入到数据库中,下载数据花费的时间更少,但插入数据库的时间更多,一段时间后我知道我正在插入数据库一,因此插入操作循环基于已获得的记录总数。我试图寻找替代方案,我无法做到这一点,所以我请求你给我建议和片段,让我实现这一目标。
感谢您
我正在开发 android 应用程序,这里我有大量的数据,大约 10000 条记录,服务器中有 10 个字段,我需要获取这些数据并将其存储在我的本地数据库中,所以为此我尝试通过获取json形式的数据解析它并一一插入到数据库中,下载数据花费的时间更少,但插入数据库的时间更多,一段时间后我知道我正在插入数据库一,因此插入操作循环基于已获得的记录总数。我试图寻找替代方案,我无法做到这一点,所以我请求你给我建议和片段,让我实现这一目标。
感谢您
使用事务将多个插入包装到一个操作中,这要快得多:提高 SQLite 的每秒插入性能?
List<Item> list = getDataFromJson();
SQLiteDatabase db = getDatabase();
db.beginTransaction();
try {
// doing all the inserts (into memory) here
for(Item item : list) {
db.insert(table, null, item.getContentValues());
}
// nothing was actually inserted yet
db.setTransactionSuccessful();
} finally {
// all inserts happen now (if transaction was set to successful)
db.endTransaction();
}