歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

在開發過程中解析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