zoukankan      html  css  js  c++  java
  • android提高SQLite大容量数据存储效率

    SQLite中插入的时候非常耗时,原因是没有使用事务,默认是每插入一次使用

    一次事务,这样如果插入1000条数据,就要开启1000次事务,非常耗时,所以我们可以利用代码来通过手动开启和关闭的方式控制事务。

    public void insertAll(String databaseName, 
                ArrayList<ContentValues> valuesArr) { 
            SQLiteDatabase db = getWritableDatabase(); 
            db.beginTransaction(); 
            for (ContentValues val : valuesArr) { 
                db.insert(databaseName, null, val); 
            } 
     
            db.setTransactionSuccessful(); 
            db.endTransaction(); 
            db.close(); 
        } 
    

    通过这种开启事务的方式,插入数据的时间将得到显著的提高。

    不过提高效率也可以从别的方面去考虑,比如数据库关联,这还有待研究

  • 相关阅读:
    26.列表的循环遍历
    效率比较--链表
    心之距离 再回首 光年之遥远
    效率比较--集合
    效率比较--数组
    哈希表
    栈 VS 队列
    struts1 标签引入
    web 连接池配置
    zip&ftp命令
  • 原文地址:https://www.cnblogs.com/weixiao870428/p/3766186.html
Copyright © 2011-2022 走看看