在实际情况下,很可能遇到会向一个表中插入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 条数据 性能测试

向数据库添加100W 条数据 性能测试 : 参考的相关网站目录: JDBC实现往MySQL插入百万级数据 https://www.cnblogs.com/fnz0/p/5713102.html MyS ...

sqlserver 如何瞬间执行上万条数据

核心的内容是:使用自定义表类型 第一步:创建存储过程P_T1DeclareInfo_Upload_new 参数: T1DeclareInfo_UploadPNSN_Param  类型 T1Declar ...

[MyBatis]五分钟向MySql数据库插入一千万条数据 批量插入 用时5分左右

本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 我的数据库环境是mys ...

JavaScript 上万条数据 导出Excel文件 页面卡死

最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败.... debug调试发现var  ...

在UPDATE中更新TOP条数据以及UPDATE更新中使用ORDER BY

正常查询语句中TOP的运用: SELECT TOP 1000 * FROM MP_MemberGrade   随意更新一张表中满足条件的前N条数据: UPDATE TOP (1) MP_Member ...

JavaScript 上万条数据 导出Excel文件(改装版)

最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败.... debug调试发现var  ...

knockout更新列表中的某条数据,knockout.js绑定数组时更新其中一条数据

knockout是一款前端实现MVVM的JS框架,仅knockout.js一个47kb的文件,相当实用,做前端无刷新页面,快速实现JS与HTML数据交互. knockout目前最新版:knockout ...

随机推荐

OpenStack 计算节点关机,虚拟机状态解决办法

检查服务正常化 1 nova-manage service list 发现很多nova服务没有启动. 全部启动,直到nova-manage service list所有服务都是:)而不是XXX. 虚拟 ...

Android基础整理之四大组件Activity

最近准备系统的重新整理复习一下Android的各方面的知识,本着知识分享的原则,我就把梳理过程中一些东西给记录下来,权当一个学习笔记吧. 下面步入正题..... 什么是Activity Activit ...

Super关键字

一.super关键字

hdu 5612 Baby Ming and Matrix games(dfs暴力)

Problem Description These few days, Baby Ming is addicted to playing a matrix game. Given a n∗m matr ...

2018-2019-1 20189201《Linux内核原理与分析》第三周作业

写作业之前,写了时光博物馆参观感受.1978-2018 40年的改革开放历程. 一.C语言中内嵌汇编语言的写法 内嵌汇编的语法如下: asm volatile ( 汇编语句模版: 输出部分: 输入部分 ...

从MongoDB里面取得json格式的数据,然后存为本地的json文件,然后再从json读取变为dict

帮宣传下彩印网(www.caiyin.com) 有印刷,广告等等方面的需求就找这个网站吧,没错的. 天气预报在MongoDB中的天气预报的存储方式是: /* 1 */ { "_id&quot ...

[深入理解Java虚拟机]<垃圾收集器与内存分配策略>

Overview 垃圾收集考虑三件事: 哪些内存需要回收? 什么时候回收? 如何回收? 重点考虑Java堆中动态分配和回收的内存. Is Object alive? 引用计数法 给对象添加一个引用计数 ...

extend 与 append 的区别

>>> A = ['q', 'w', 'e', 'r'] >>> A.extend(['t', 'y']) >>> A ['q', 'w', 'e ...

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

  1. QTreeView处理大量数据(使用1000万条数据,每次都只是部分刷新)

    QTreeView处理大量数据(使用1000万条数据,每次都只是部分刷新) 如何使QTreeView快速显示1000万条数据,并且内存占用量少呢?这个问题困扰我很久,在网上找了好多相关资料,都没有找到 ...

  2. mybatisPlus中getOne方法如何只取其中一条数据(Wrapper有多条数据时)

    mybatis-plus中getOne方法只能取一条数据,如果取得多条数据会报错,要么换其他方法,要么只选择其中一条,在条件构造器Wrapper结尾加上.last("limit 1" ...

  3. android动态分区AB升级,Android A/B 系统升级简介

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 来源:https://pengzhangdev.github.io/Android-AB-system-update/ ...

  4. 数据库SQL去重,保留一条数据

    利用SQL,删除掉重复多余的数据,并且只保留一条数据. 1.查找表中多余的重复记录,重复记录是根据单个字段(teamId)来判断 select * from team where teamId in ...

  5. Android动态秒针插件app,Android 8.1 Launcher3实现动态指针时钟功能

    本文主要实现功能,可能有不合理的地方 首先创建一个实现功能的工具里,直接上代码: import android.content.Context; import android.graphics.Bit ...

  6. android+动态更改app图标,Android开发:如何动态更换APP图标

    在Android开发中,通常会有这样的需求,逢年过节UI的小伙伴们都会做出节日或活动相关的APP图标让我们更换,可是每次更换都要发版实现.那么,如何在不发版的情况下动态地更换我们的图标呢?本篇文章就来 ...

  7. android 动态壁纸 波浪效果,Android使用自定义View实现360手机卫士波浪球进度的效果...

    像360卫士的波浪球进度的效果,一般最常用的方法就是画线的方式,先绘sin线或贝塞尔曲线,然后从左到右绘制竖线,然后再裁剪圆区域. 今天我这用图片bitmap的方式,大概的方法原理是: (1)首先用c ...

  8. android动态加载背景,Android六种加载动态图的方式(包括动态背景和加载动态图片)之四...

    参考文章:http://www.cnblogs.com/firecode/archive/2012/11/01/2749774.html 其实这篇文章已经写的很全面,我只是用了一下将它加入到我的dem ...

  9. android动态添加顶部tab,android选项卡(Tab)实现顶部和底部

    1.自己创建一XML文件放于layout文件夹tab.xml(选项卡在顶部) encoding="utf-8"?> android:layout_width="fi ...

最新文章

  1. 比特币脚本及交易分析 - 智能合约雏形
  2. IO之流程与buffer概览
  3. hibernate 联合主键 merge
  4. python requests用法总结
  5. CNN-2: AlexNet 卷积神经网络模型
  6. 《终身成长》读书笔记(part2)--失败从一种行为,转变为一种身份
  7. 关于挽救爱情的一次求学尝试
  8. Windows 运行jar包
  9. FastDFS原理及入门
  10. C# 使用Magick.NET进行图片格式转换
  11. 静态路由绑定探测组功能的配置
  12. java毕业设计——基于java+java-swing的泡泡堂网络游戏设计与实现(毕业论文+程序源码)——泡泡堂网络游戏
  13. ICTCLAS汉语词性标注集+中文字体对应的文件名+ 常用字体、颜色、线性、标记
  14. 利用软路由,轻松实现宽带叠加,已达到千兆网速的效果
  15. 搜狗浏览器安装自定义JS脚本的方法~
  16. Php 网站性能优化,关于ThinkPHP中网站性能优化研究
  17. 化工厂需要人员定位的原因,高精度UWB化工厂人员定位-新导智能
  18. ddos流量攻击有多少G_攻击流量超过300G,遭遇DDoS时我们能做些什么?
  19. BIG DATA 神奇的大数据 - Hadoop(Linux)环境搭建与部署
  20. Win7系统交互式服务检测关闭方法-

热门文章

  1. 网吧技术主管工作经验
  2. FH8626V100之开发环境搭建
  3. ML机器学习算法(一): 基于逻辑回归的分类预测
  4. PMP超详细的报名流程,手把手教你报名(含备考资源)
  5. 树莓派3B+神经计算棒实时人脸追踪机器眼
  6. 关于岭回归和lasso回归
  7. CSS3系列 02 元素选择器
  8. 淘宝网全国实时交易地图[转]
  9. Oracle数据库官方权威内部培训教材
  10. 6-10 找出大于num的最小素数 (10 分)