android sqlite3大数据量存储

xiaocos 2015-01-06 10:14:07
楼主google了半天没有发现解决方案,只能来发帖求大神看看
楼主所在项目弄了个app需要写入大量数据,表也比较多。android采用的sqlite3数据库。
现在有两个问题1.数据库文件容易损坏 2.大数据量查询容易引发ANR界面无响应,连使用系统sharedpreference的界面操作也出现无响应。
目前数据库的db文件存储在/data/data目录下。跪求大神给点建议。
附上一天数据量的截图:

...全文
800 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
可乐罐 2015-01-09
  • 打赏
  • 举报
回复
SQLLite本来就不是为并发设计的,对并发的支持只能“呵呵”了。
xiaocos 2015-01-07
  • 打赏
  • 举报
回复
引用 1 楼 xiaocos 的回复:
恩 又发现一个问题 数据库锁住了 不知道是不是因为空间不够 待我去查查原因
恩 这个疯转数据库类的时候没用单例模式,线程争用导致数据库锁定,改成单例模式之后就好了。 数据库文件损坏考虑是这个原因引起的。测试中。
xiaocos 2015-01-07
  • 打赏
  • 举报
回复
引用 10 楼 lin_xiongg 的回复:
优化SQL语句 ?这么大的数据量怎么优化呀。。。不解。。。求教
目前只优化了流程 两个查询10s 减了一个 不过现在还要7s
sublimer 2015-01-06
  • 打赏
  • 举报
回复
用GreenDao吧 ~~百度一下 你就知道~一个开源的组件~
水惊鱼 2015-01-06
  • 打赏
  • 举报
回复
词典的数据量多小呀。。。 1.升机子。 2.建小表。短表。易查表。汇总表 3.索引之。。有利于二分法查找。 4.分段查询。排序后可进行分表。。对数据进行预测后查询。。排序可以后台无操作时进行。 5.增可以建新表。临时表 6.删改同查询。。 7.对数据进行初步判断。有用的排行。类垃圾的拖出去。。脱了。。放待整里。。。
水惊鱼 2015-01-06
  • 打赏
  • 举报
回复
百万是M级。一个记录是K级?你是什么表 ?。。这个差很多。。 百M到G级的库都有可能。。还是略大的。。 1.调 入内存。。数百M调入内存还是满大的 2.寻址。。百万级的寻址?。。 处理时间肯定在1秒以上。。。所以卡五秒以内存正常 。。。
哎,真难 2015-01-06
  • 打赏
  • 举报
回复
很正常,有道词典怎么做的,其实需要量化,优化数据库查询语句,建立视图等,还有就是异步查询
水惊鱼 2015-01-06
  • 打赏
  • 举报
回复
百万级的数据就不行了?。。。CPU是G级的。。.十亿。。。十亿打百万是一千个打一个。。。我去。。这是怎么包抄的?
xiaocos 2015-01-06
  • 打赏
  • 举报
回复
恩 又发现一个问题 数据库锁住了 不知道是不是因为空间不够 待我去查查原因
水惊鱼 2015-01-06
  • 打赏
  • 举报
回复
优化SQL语句 ?这么大的数据量怎么优化呀。。。不解。。。求教
xiaocos 2015-01-06
  • 打赏
  • 举报
回复
引用 5 楼 lin_xiongg 的回复:
词典的数据量多小呀。。。 1.升机子。 2.建小表。短表。易查表。汇总表 3.索引之。。有利于二分法查找。 4.分段查询。排序后可进行分表。。对数据进行预测后查询。。排序可以后台无操作时进行。 5.增可以建新表。临时表 6.删改同查询。。 7.对数据进行初步判断。有用的排行。类垃圾的拖出去。。脱了。。放待整里。。。
好的。考虑优化下sql语句。
xiaocos 2015-01-06
  • 打赏
  • 举报
回复
引用 3 楼 heaimnmn 的回复:
很正常,有道词典怎么做的,其实需要量化,优化数据库查询语句,建立视图等,还有就是异步查询
好的。谢谢版主。
xiaocos 2015-01-06
  • 打赏
  • 举报
回复
感谢楼上各位大神的回答,那些资料我一会去查查,现在查一次数据库需要7s左右。 测试中。。
       Android零基础入门这门课程的目标:带您走进Android大门,了解Android整体框架,演变发展历史 ;掌握Android编程的基础概念,教您构建各种应用程序:从Hello World开始,直到带有调度作业、更新设置、访问网络和使用架构组件的应用程序;课程结束后,能自己动手编写一定难度的Android程序,具备自学更高级开发的基础,能看懂开源的Android代码。      课程整体上分5个大的模块依次展开:      1.入门 (第1~3章)      2.用户体验(第4~6章)      3.在后台运行(第7~8章)      4.保存用户数据(第9~10章)      5.应用上架(第11章)。课程大纲如下:第1章. 构建您的第一个应用程序       1. 对Android有基本认识,搞懂Android系统整体框架,Android不同版本以及这些版本演变过程       2.以HelloWord为例,了解Android app的程序结构       3.Android UI的基础知识-视图和布局,初步介绍Android View的事件处理,及图片等资源的使用等第2章.  Activity和Intent       1.Activity 和 Intent 基础和用法       2.Activity生命周期和回调       3.Activity实例状态第3章. 测试应用 调试应用 及使用Support library       1.讲解Android两个主要的应用程序调试方法:日志 和 断点       2.如何对App进行单元测试       3.介绍Android中用于向后兼容的 Support library及用法第4章. 用户交互        讲解Android中常用控件的使用方法和注意事项,如按钮、输入控件、菜单、对话框、用户导航、列表等第5章. 令人愉快的用户体验      1.学会使用Drawables      2.使用Android studio中的图片和矢图      3.讲解Android中主题和样式,以及如何定制主题和样式      4.Android著名的应用设计理念Material design,通过Material design打造极致的用户体验      5.如何让布局自适应不同尺寸的手机第6章. 界面测试        介绍Android UI自动化测试 Espresso第7章.后台任务        学会Android多线程编程,使用非UI线程在后台完成耗时任务,从网络存取数据。撑握Android的广播和后台服务第8章. 闹钟和调度程序       掌握Android定时任务和调度作业第9章.首选项和设置       学会使用Preferences保存用户数据,编写应用的设置界面,存取设置数据第10章.使用 Room 存储数据       学会使用Android SQLite数据库,通过Room组件对数据库增删改查,掌握LiveData和 ViewModel等架构组件第11章:App上架​     1.学会App在国内应用市场上架​     2.学会App在Google play上架课程中如果讲的不对的地方,请大家指出,我及时修正,我们共同努力,一起进步。

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧