asysbang

 找回密码
 立即注册
查看: 3281|回复: 0
打印 上一主题 下一主题

sqlite大量数据插入慢

[复制链接]

510

主题

2

好友

6311

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-5-7 15:29:29 |只看该作者 |倒序浏览
用contentprovider插入1000个数据大约需要12秒

看到applybatch 和bulkinsert 这2个方法,尝试一下

发现即使用了这2个方法,时间还是没有改善

看源代码,发现上面2个方法只是内存写了一个for循环

所以最终的解决方案还是的自己控制事物,

    @Override
    public int bulkInsert(Uri uri, ContentValues[] values) {
        mOpenHelper.getWritableDatabase().beginTransaction();
        int bulkInsert = super.bulkInsert(uri, values);
        mOpenHelper.getWritableDatabase().setTransactionSuccessful();
        mOpenHelper.getWritableDatabase().endTransaction();
        return bulkInsert;
    }


这样1000条数据大约0.8秒






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|aSys-帮 ( 京ICP备13033689号 )

GMT+8, 2024-7-4 05:26 , Processed in 0.051176 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部