歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android平台下提高SQLite大容量數據存儲效率

Android平台下提高SQLite大容量數據存儲效率

日期:2017/3/1 9:59:16   编辑:Linux編程

在開發過程中解析xml中的數據有上萬條之多,發現在想sqlite中插入的時候非常耗時,原因是沒有使用事務,默認是每插入一次使用一次事務,這樣如果插入1w條數據,就要開啟1w次事務,非常耗時,所以我們可以通過手動開啟和關閉的方式控制事務。

在自己的繼承了SQLiteOpenHelper的子類中加入插入:

/**
* databasename 是表名
* valuesArr 是要插入的數據
*/
public void insertAll(String databaseName,
ArrayList valuesArr) {
SQLiteDatabase db = getWritableDatabase();
db.beginTransaction();
for (ContentValues val : valuesArr) {
db.insert(databaseName, null, val);
}

db.setTransactionSuccessful();
db.endTransaction();
db.close();
}

通過這種開啟事務的方式,插入數據的時間將得到顯著的提高。(時間會隨著設備的性能好壞有所差異)。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved