Android开发

sqlite导入大量数据耗时的解决方法

时间:2016-5-8 22:08:17  作者:WPF之家  来源:http://www.wpf123.com/  查看:580  评论:0
内容摘要:解决耗时的办法是利用sqlite的事务来处理。方法如下:首先获取database对象,然后执行如下方法:db.beginTransaction(); //手动设置开始事务 //数据插入操作循环 //update insert delete select可以...

解决耗时的办法是利用sqlite的事务来处理。方法如下:

首先获取database对象,然后执行如下方法:

db.beginTransaction();      //手动设置开始事务 
//数据插入操作循环 

//update insert delete select可以循环嵌套操作 
db.setTransactionSuccessful();        //设置事务处理成功,不设置会自动回滚不提交 
db.endTransaction();        //处理完成

测试了一下,如果导入1万条数据,大约耗时20秒左右。性能比之前提升了一大截。

比如

    public int insert(Uri uri, ContentValues[] values) {

        SQLiteDatabase db = mOpenHelper.getWritableDatabase();

        db.beginTransaction();

        try {

            int numValues = values.length;

            for (int i = 0; i < numValues; i++) {

                   db.insertOrThrow(tablename, null, values);

            }

            db.setTransactionSuccessful();

        } finally {

            db.endTransaction();

        }

         return values.length;

    }


标签:sqlite 大量 数据 耗时 解决 

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。本文出自“wpf之家”,请务必保留此出处:http://www.wpf123.com

上一篇:没有了
下一篇:android 中 postDelayed方法的讲解
相关评论
Copyright © 2009-2014 WPF之家(http://www.wpf123.com/) All rights reserved
 Powered by WPF之家
鄂ICP备13006396号