① java 查询的数据太多了,怎么处理
可以垂直分隔查询,通过id段来进行,多次查询的数据再进行整合处理
② java 大数据 指多少条数据
我想你问的是在数据库中的表要有多少条才能算大数据。其实您清楚,如果表中的数据超过千万以上,再好索引也会导致查询变慢。现在的海量数据一般都是PT级的,数据存放也不仅限于传统的关系型数据库。
③ java查询数据多少合适
一次性查询几十万数据。
先批量查出所有数据。再查出数据之后把每次的数据按一定规则存入本地文件。获取数据时,通过批次读取,获得大批量数据。
存入临时文件之后,再用读取大量数据文件。
④ Java循环查询数据库,循环一定次数后程序卡在那不执行了
excel导出几十万几百万数据
1、首先你的内存够用吗,;
2、感觉你像是用Ibatis分页的方式去查数据库,Ibatis自身分页当页码比较大的时候 性能本来就底下。
我觉得可能是你的内存不够导致的
仅供参考
⑤ Java对数据库(Oracle)大量查询性能问题,达人指教!!!
不会有问题,现在BBS很多都是一张表存上万条,用SQL SERVER都行,更何况ORACLE了。查询的性能问题不是你的语言决定的,而是数据库决定的。数据库本身建立了索引,不会线性的去找,速度非常快的,所以没必要分开检索
⑥ Java前提下, MySQL数据库,一次性存储大量数据导致内存溢出
内存溢出导致程序崩溃,也分是java层崩了,还是mysql崩了。
如果是java层崩了,注意不要一次性加载太多的数据到内存,并且不在使用的数据要彻底放弃引用关系。java虽然是自动回收,回收的原则就是一个对象不再被持有,即引用计数为零。如果数据太大,可考虑临时文件。
如果是mysql崩了,首先增加配置缓存。一般来说mysql是不容易崩的,特别是插入操作的时候。查询的时候如果查询结果记录集特别大,会导致一个查询需要使用很大的内存空间,这种是有问题的。而插入操作都是一条一条的执行,不会导致大内存的使用。
如果仅仅是数据移植,也尽量不要用ORM框架,比如hibernate,mybatis这些东西,因为他们都有自己的缓存,直接使用JDBC比较好。
⑦ java集合内,存大概多少数据时,读取会变慢
楼主 如果 说list的 并且用于分页的话,分页中的list 并不是 把所有的数据 都请求出来放在list里 去翻页,这样的话速度肯定会很慢,如果是分页的话 一般都是查询 区间的 例如 第2页 每页显示5个 那么我们只要查询6-10的记录的就行 不必查询出所有的数据,这样速度会快。并且如果list 存入大量数据不仅页面访问速度降低 而且安全性也值得考虑。
⑧ 如果控制查询数据量大时,导致的Java内存溢出
oracle的rownum用起来还真不太方便,我给你提供个思路试试,
首先在查询的时候按照某个唯一字段升序排序,一般来说应该是按主键排序。
并且在where里加一个条件就是对主键进行比较,
每次查询一定数量的记录,然后记录下该次查询时最大的主键ID是多少,记为MAXID,然后执行插入到B中的操作
下一次查询时在where里加入主键ID>MAXID,查出来之后将MAXID设置为此次查询的最大主键ID。在插入B,
如此循环应该就可以实现了。
⑨ java分页查数据防止内存溢出问题
首先你要明白内存溢出的含义,内存溢出简单的来说就是内存不够了。
打个专比方:内属存就像一个大水缸,数据库就是水库。从数据库中查询数据就像从水库中抽水到大水缸。如果一次性抽取太多的水(超过大水缸的容量),大水缸肯定放不下(溢出了)。分页查询就好比一点一点的抽水到大水缸。jvm有垃圾回收机制,每次抽到水缸中的水可能用完后就被销毁了,水缸中的水不会一直增长下去。如果水缸中的水一直增长,就叫内存泄露。
你上面的代码不完全,不知道是否会内存溢出。如果每次循环在getComments方法中把查询的结果都放到一个List中,就可能会溢出。当然这个和数据库中的数据量和jvm的内存配置大小有关系。
⑩ java项目中,数据库查询的数据多了,报500,什么情况
500不是数据库错误,是Web APP错误。
你查询的数据量有多大,不太可能大到数据库崩掉出现500,线程出错500的机会比较大