安卓sqlite数据库加速写入

本文探讨了在Android应用中如何通过合理使用数据库事务来显著提高数据写入速度的方法。通过对批量插入操作进行事务包裹,可以将每条记录的写入时间从100毫秒降低到更短的时间,从而大幅度提升数千条数据写入的整体效率。

安卓数据库在每一次写入的时候都是通过一个事务写入的,那么这样的后果就是写入的速度超级慢,一条在100ms附近,那么几千条的话,没有一两分钟是不行的。

想要加快,那么必须把所有的插入语句都放在一个事务中,这样的速度就会大大增加。

            db.beginTransaction();//启动事务
            try
            {
                String s = null;
                for(int i = 0 ;i< array.size();i++)
                {
                    s = array.get(i);
                    ContentValues contentValues = new ContentValues();
                    contentValues.put("P_url",s);
                    contentValues.put("P_class","null");
                    da.getWritableDatabase().insert("P_classification",null,contentValues);
                }
                db.setTransactionSuccessful();//设置事务不回滚,不设置的话那么就会和不设置事务的速度一样
            }finally {
                db.endTransaction();//结束事务事件
            }
            db.close();


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值