由于最近要处理数据量比较大的问题,在网上找点资料
数据库:oracle
我现在这样执行 rs=handle.executeQuery(strSql)一条语句
这一语句strSql是一个简单的查询语句,但会返回几百万条记录(500w以上)。
问题:
1.如果只是执行这条sql而不用while(rs.next())来取数据的话,是否会需要执行很多的时间,
是用while(rs.next())来遍历所有的记录需要更多的时间,还是执行那条sql(也就是handle.executeQuery(strSql);)花更多的时间?
2.如果我只执行executeQuery(strSql);而不遍历它的结果集会不会耗web服务器上的内存?
3.这个问题其实和问题2差不多,如果我用while(rs.next())来遍历这个结果集,但我不把整个结果集保存在中间变量中(一般是数组中),而是取一条记录,保存一条记录到文件中,这种情况会不会很耗web服务器的内存?
回答:
1 executeQuery(strSql);主要是消耗DB服务器上的内存
2 while(rs.next)是消耗WEB服务器上的内存
对于500W条数据,不论DB服务器还是WEB服务器,都会消耗很多内存.
3、“取一条记录,保存一条记录到文件中”:这样做会在一定程度上会节约很多内存(在500W条数据时会很明显),但是在取操作上可能会麻烦点,增加了复杂度,在实际运用中要看项目的具体取舍
分享到:
相关推荐
Java向数据库中插入大量数据时的优化
Oracle 分区技术及大数据量操作性能优化.ppt
Oracle大数据量操作优化
Oracle 大数据量操作优化.pdf
针对大数据量操作性能降低的情况,本文提出了Oracle针对大数据量的操作优化。
针对银行大数据量(过亿)条数据的查询优化处理
1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中 2) 对大数据量查询时,慎用list()或者iterator()返回查询结果, 3) 对于关联操作,Hibernate虽然可以表达复杂的数据关系 4) 对含有关联的PO...
当我们面对大数据量处理时,往往会陷入许多误区; 不良的SQL往往来自于不恰当的索引设计、 不充份的连接条件和不可优化的where子句。 在对它们进行适当的优化后,其运行速度有了明显地提高! 下面我将从这三个方面...
BaseAdapater加载大量数据之性能优化
大数据量高并发的数据库优化
sql优化,大数据量如何解决.docx
mysql数据优化详介绍:使用连接来代替子查询,使用联合来代替手动创建临时表,事物,使用外键等等
//测试结果:200万数据,使用81-83秒;如果没有设置预取参数,10万条数据都要2分多钟 //使用游标返回结果集时,注意给游标设置PreFetchRows参数,会明显提高读取速度,这个参数要求可配置,因为测试发现这个参数值并...
如何优化大数据量加载DataGrid
百万数据级快速查询优化技巧,数据库快速查询所遵循的方法。
在数据处理中,捧序是经常遇到的问题,常用算法有t冒泡法、选择法、希尔法. 三种算法程序设计分别见子程序BUBBLE、CHOICE和SHELL。就运算速度而言,以希 尔法为擐快。对于少量数据(通常在5000以下),这三种方法耗费...
NULL 博文链接:https://jiangyongyuan.iteye.com/blog/1574637
大数据量+高并发的数据库SQL优化