android动态更新数据库数据,Android数据库更新——上万条数据的插入

当需要在Android应用中向数据库插入大量数据时,传统的SQLiteOpenHelper.onUpdate()方法可能导致效率低下甚至应用崩溃。解决方案是通过将预建的db文件替换原有数据库,存放于res/raw目录下,在onCreate()方法中复制到对应路径,从而提高性能。此外,文章还提及了其他数据库操作的性能测试和优化技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际情况下,很可能遇到会向一个表中插入10万条数据,而这样的数据库更新,如果用寻常的方式,在SQLiteOpenHelper.onUpdate()方法中不断的执行SQL语句,那么效率是可想而知的,甚至可能造成整个应用的崩溃!

解决方案:

遇到这种情况,其解决方案应为,用做好的db文件替换之前的数据库文件。当然,有人可能有疑问,这样的话,怎么写入到data/data目录下。这个的确是个问题,可是,我们可以将该数据库存放在SD卡目录下。当然,数据库存放在SD卡目录中,的确是对安全性的妥协。

实现步骤:

制作db文件,工具可以是navicat for SQLite等;

将该文件存放在res/raw目录下

在SQLiteOpenHelper.onUpdate()方法中,删除之前的数据库文件

在代码中调用到SQLiteOpenHelper.getReadableDatabase()等方法时,如果该数据库不存在,就会调用SQLiteOpenHelper.onCreate()方法创建数据库。

在SQLiteOpenHelper.onCreate()方法中,我们与一般的使用SQL语句建表不一样,这里直接将raw文件夹下的数据库文件复制到对应的路径下即可。

总结:

以上的解决方案可以提升更新数据库性能。

mysql根据查询结果批量更新多条数据(插入或更新)

mysql根据查询结果批量更新多条数据(插入或更新) 1.1 前言 mysql根据查询结果执行批量更新或插入时经常会遇到1093的错误问题.基本上批量插入或新增都会涉及到子查询,mysql是建议不要对 ...

【sql】mysql数据库做两条数据替换的操作,不使用第三方变量

需求: 1.将数据库中两条数据中的唯一约束列  做值的替换 原始思想: 将两条数据查出来,在程序中设置第三方变量,进行两条数据的替换,然后将原始两条数据删除,将新的两条替换后的数据插入. 新思想: 1 ...

向数据库添加100W 条数据 性能测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值