Does anyone have any experience with reducing the size of the data set returned from a database (Oracle) query by (for example) XML-encoding the result set in a stored procedure, thereby converting the data into
string format, then ZIP-compressing the XML, and then returning the zipped data (possibly base64-encoded)?
I have a case where the potential upper limit to the returned data set is about 4.5 megabytes (in raw text format), which could potentially compress to about 1-5% (say around 100k) -- this would be much quicker to return from the database to the application server. (In our case, the database is on the other side of the planet, too.)
Any other hints on optimising large result sets? Or is it still most efficient to use ResultSet -- does the Oracle driver compress the data along the way?
There is very considerable complexity added by zipping and base64-encoding (assuming you already have a stored procedure in any case.)