Android数据库更新——上万条数据的插入

时间:2021-04-29 23:26:48

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

解决方案:

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

实现步骤:

  1. 制作db文件,工具可以是navicat for SQLite等;
  2. 将该文件存放在res/raw目录下
  3. 在SQLiteOpenHelper.onUpdate()方法中,删除之前的数据库文件
  4. 在代码中调用到SQLiteOpenHelper.getReadableDatabase()等方法时,如果该数据库不存在,就会调用SQLiteOpenHelper.onCreate()方法创建数据库。
  5. 在SQLiteOpenHelper.onCreate()方法中,我们与一般的使用SQL语句建表不一样,这里直接将raw文件夹下的数据库文件复制到对应的路径下即可。

总结:

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