| Author |
java.lang.OutOfMemory error while fetching data from large tables
|
chaitanya Komaravalli
Greenhorn
Joined: Sep 12, 2003
Posts: 1
|
|
Hi, i am trying to fetch data using "executeQuery()" into a ResultSet from the database. But since the data in that table is large, i am recieving "java.lang.OutOfMemory" Error. So, to resolve that, i have used "setMaxRows()" for my statement object. This resolved the error but i don't recieve the entire data. If i call "executeQuery()" again, i recieve the same data. I don't even know a filtering criterion where by i can filter the data for each "executeQuery()".. How can i resolve this problem Thanx in advance --Chaitanya
|
 |
Dana Hanna
Ranch Hand
Joined: Feb 28, 2003
Posts: 227
|
|
|
If the table is so large - what do you expect your program to do with it? What is the purpose of this app?
|
 |
Pravin Panicker
Ranch Hand
Joined: Oct 05, 2000
Posts: 62
|
|
You are selecting huge amount of data at one go. So the exception is expected. But will you be using all of them? you could resort to some sort of pagination , if your application permits, and fetch fewer records as and when needed.
|
Pravin R Panicker<br />SCJP,SCWCD
|
 |
Jamie Robertson
Ranch Hand
Joined: Jul 09, 2001
Posts: 1879
|
|
Originally posted by Pravin Panicker: You are selecting huge amount of data at one go. So the exception is expected. But will you be using all of them? you could resort to some sort of pagination , if your application permits, and fetch fewer records as and when needed.
I iterate through hundreds of thousands of rows without any problems, even when my code was very...ummm...inefficient ( new to programming ). Iterating through a resultset itself is not grounds for getting out of memory errors. The problem is when you accidentally hold that record in memory. You can avoid holding the data in memory by using a NON-scrollable resultset, not adding each row to a collection, and not using a rowset. If you are holding the records in memory ( intentional or unintentional ) then you can expect at some point for your computer or JVM to run out of memory. Jamie
|
 |
 |
|
|
subject: java.lang.OutOfMemory error while fetching data from large tables
|
|
|