asysbang

标题: sqlite大量数据插入慢 [打印本页]

作者: admin    时间: 2015-5-7 15:29
标题: sqlite大量数据插入慢
用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秒











欢迎光临 asysbang (http://asysbang.com/) Powered by Discuz! X2.5