Re: Out of memory error on huge resultset
Dave Cramer <dave@micro-automation.net>
From: Dave Cramer <Dave@micro-automation.net>
To: Nick Fankhauser <nickf@ontko.com>
Cc: pgsql-jdbc <pgsql-jdbc@postgresql.org>
Date: 2002-10-10T15:35:48Z
Lists: pgsql-hackers, pgsql-general
Nick, Use a cursor, the current driver doesn't support caching, the backend gives you everything you ask for, you can't just say you want a limited set. So if you use cursors you can fetch a subset Dave On Thu, 2002-10-10 at 11:24, Nick Fankhauser wrote: > > I'm selecting a huge ResultSet from our database- about one million rows, > with one of the fields being varchar(500). I get an out of memory error from > java. > > If the whole ResultSet gets stashed in memory, this isn't really surprising, > but I'm wondering why this happens (if it does), rather than a subset around > the current record being cached and other rows being retrieved as needed. > > If it turns out that there are good reasons for it to all be in memory, then > my question is whether there is a better approach that people typically use > in this situation. For now, I'm simply breaking up the select into smaller > chunks, but that approach won't be satisfactory in the long run. > > Thanks > > -Nick > > -------------------------------------------------------------------------- > Nick Fankhauser nickf@ontko.com Phone 1.765.935.4283 Fax 1.765.962.9788 > Ray Ontko & Co. Software Consulting Services http://www.ontko.com/ > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html > >