sqlite插入一万多条数据会报内存溢出 该怎么解决

如题所述

内存溢出导致程序崩溃,也分是java层崩了,还是mysql崩了。如果是java层崩了,注意不要一次性加载太多的数据到内存,并且不在使用的数据要彻底放弃引用关系。java虽然是自动回收,回收的原则就是一个对象不再被持有,即引用计数为零。如果数据太大,可考虑临时文件。如果是mysql崩了,首先增加配置缓存。一般来说mysql是不容易崩的,特别是插入操作的时候。查询的时候如果查询结果记录集特别大,会导致一个查询需要使用很大的内存空间,这种是有问题的。而插入操作都是一条一条的执行,不会导致大内存的使用。如果仅仅是数据移植,也尽量不要用ORM框架,比如hibernate,mybatis这些东西,因为他们都有自己的缓存,直接使用JDBC比较好。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-06
批量插入分多次执行,每次执行完提交。

sqlite插入一万多条数据会报内存溢出 该怎么解决
如果是mysql崩了,首先增加配置缓存。一般来说mysql是不容易崩的,特别是插入操作的时候。查询的时候如果查询结果记录集特别大,会导致一个查询需要使用很大的内存空间,这种是有问题的。而插入操作都是一条一条的执行,不会导致大内存的使用。如果仅仅是数据移植,也尽量不要用ORM框架,比如hibernate,myb...

SQLITE或者MYSQL在行数很多(比如5K或者1W条以上)的情况下,字段多会降...
3,你上面所说的这种方式,那SQL已经完全没有意义了,如果你的字段确实非常多的话,可以把一些主要查询字段存放一个表,把次要的字段存放一个表,查询时可以主查主要条件,用各咱join去关联起来.

如何定位和解决Android的内存溢出问题(大总
一、定位内存泄漏:可以用LeakCanary:检测所有的内存泄漏 http:\/\/www.jcodecraeer.com\/a\/anzhuokaifa\/androidkaifa\/2015\/0509\/2854.html 二、解决:1.对各种流,文件资源这些比如:InputStream\/OutputStream,SQLiteOpenHelper,SQLiteDatabase,Cursor,文件,I\/O,Bitmap图片等操作等都应该记得显示关闭。2....

为什么我往sqlite的表里最多只能存1000条数据?是有这样数量限制还是有...
是可以存的,只是可能你所使用的可视化工具每一页最多显示1000条,可以寻找翻页按钮查看剩余数据

SQLite事务 SQLite插入多条语句为什么这么慢
1400多条只用了0.3秒 如果你不用事务的话,估计得一分钟左右 SQLiteDatabase db = dbHelper.getWritableDatabase();db.beginTransaction(); \/\/开启事务 \/\/这里就开始循环插入 db.setTransactionSuccessful(); \/\/标记完成 db.endTransaction();\/\/结束事务 db.close();\/\/关掉数据库 ...

SQLite负载量有多大,不会象access那样容易出问题吧
3、写入较慢 默认配置下的 SQlite 的写入速度比MySQL慢了很多,但是 CMS 应用场景的写入操作较少。在插入新文章的时候基本感受不到慢。集中的写数据库操作只有在安装的时候会出现,不过只出现一次,可以忽略 4、为已有的表加索引较慢 但是在中小站点CMS中不会有这样的需求,可以忽略 5、无法将 MySQL ...

sqlite数据库并发怎么解决
使用SQLite经常会遇到并发处理,要处理好多线程或多进程之间的并发,就得搞清楚SQLite的机制,尤其是Sqlite的锁机制。因为SQLite是文件数据库,所以它的锁也基本是和文件一致,也即:写独占,读共享。这意味是在读取数据库的时候,是可以多个线程共享的,而如果有增删改的操作,则会独占此文件,其他线程会...

android sqlite 插入数据失败的问题
先进调试页面,进入调试页面按钮 2.然后在你往数据库的地方打断点,单步运行 打断点,单步运行,查看错误 3.在debug一栏中查看错误信息 这里的错误是数据库表单的项目和实际插入的项目数量不符,原因是这个代码是修改过的,原来的数据库表项有52,改成4之后,安卓模拟器里边的数据库并没有删除,保留原来...

sqlite 数据库能执行多条sql语句吗
数据视图原理是基于对象数量级关系比所展开的视图,也就是说1:1的情况是javaBean的getter\/setter,也就是OGNL称之的"顶节点",而1:n的情况时1为顶访问n则需要注明非顶节点#。

sqlite怎样在原有基础上添加新字段?
通过alter添加新的字段SQL语句:但是如果这个字段已经存在的话,运行程序直接会崩溃,我们可以在添加字段之前,对数据库进行判断看是否已经存在该字段了,方法如下:SQLite 仅仅支持 ALTER TABLE 语句的一部分功能,我们可以用 ALTER TABLE 语句来更改一个表的名字,也可向表中增加一个字段(列),但是我们...

相似回答
大家正在搜