Sqlite插入大量数据时提速方法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:04   2577   0

如果不加事务的循环插入的话,默认是没插入一次是一次事务,这样子速度会很慢。

开一个事务能提高一些速度。

代码模版如下。

 /**
     * 插入一组数据.
     *
     * @param values    数据键值对.
     * @param tableName 表名.
     */
    public int insert(ContentValues values[], String tableName) {
        int flag = 0;
        db = getWritableDatabase();
        db.beginTransaction();
        try {
            for (int i = 0; i < values.length; i++) {
                db.insert(tableName, null, values[i]);
            }
            db.setTransactionSuccessful();
        } catch (Exception e) {
            e.printStackTrace();
            flag = -1;
        } finally {
            db.endTransaction();
            db.close();
        }
        return flag;
    }


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP