Re: How could MySql Driver have this problem?
Posted by: Mark Matthews
Date: December 23, 2004 07:46AM

v d wrote:
> I just found 2 bug reports on this:
> Problem of inserting may rows causing out of
> memory:
> Problem of select * on a large table:
> The problem is that they suggest to use streamming
> for the result set. However, it only works if the
> query is read only, forward only type, which we
> don't use. We use updatable forward only type.
> For example, if we want to update a large number
> of records, doing this would not work.


Until the MySQL server has cursors, there is no clean way to implement updatable result sets with large result sets. It is a shortcoming of the server, not the JDBC driver.

If you read the _entire_ bug report for BUG#3569, you'll see why the driver uses memory for updatable result sets...It's as designed.

I don't know the particulars of your case, but usually, if you're pulling 200,000 records to the client, or you're using updatable result sets to updates thousands of rows, you're doing something wrong, as plain old SQL has much more efficient ways of dealing with either scenario.

The JDBC driver (and the MySQL protocol) are optimized and designed for the 99.9% of applications that have small-to-medium result sets, and use SQL the way it was meant to be used when doing bulk operations.

Options: ReplyQuote

Written By
Re: How could MySql Driver have this problem?
December 23, 2004 07:46AM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.