Opps! Yep that was my bad. Sending this back to the list.

On Aug 5, 2010, at 2:51 PM, Roland Bouman wrote:

> Hi!
> 
> (not sure if you intended to PM me - replying to you, feel free to
> repost to the list)
> 
> On Thu, Aug 5, 2010 at 8:53 PM, Tim Soderstrom
> <[email protected]> wrote:
>> 
>> On Aug 5, 2010, at 1:18 PM, Roland Bouman wrote:
>>> Well, but that would require a statement to enable/disable it, right?
>>> That could be expensive, since it would need to be sent to the server
>>> as a separate statement no?
>> 
>> I was talking to a colleague about this over lunch. Perhaps this could be 
>> part of a protocol extension? If so, you could do much like prepared 
>> statements (use SQL or use functions for your connector library). That would 
>> avoid expensive round-trips.
> 
> I can't judge this  - I am not familiar enough with the details of the
> protocol, and if this could be implemented without an extra roundtrip.
> If so, great!
>> 
>> That said, "BEGIN/COMMIT" require round-trips and people should definitely 
>> use those :) Are we really adding that much overhead by doing that? Could be 
>> session based so for those that always want caching, they could just set 
>> ENABLE CACHE at the beginning and be off and to the races.
> 
> Well, there are things here that I think should be considered:
> 1) in a on-demand scenario, there may be a lot of enabling/disabling
> the cache in a single transaction. so while you're right that
> COMMIT/ROLLBACK already use a rountrip, I don't think adding more
> would be a good idea if it could be avoided.
> 2) the MySQL JDBC driver generates a lot of SET autocommit ON/OFF
> statements and as it happens this actually consumes a lot of time (see
> http://www.jroller.com/mmatthews/). While enabling a cache is very
> different from enabling autocommit, I'm just dragging this in here as
> an example how a seemingly harmless extra roundtrip can unexpectedly
> consume a lot of time.
> 
> Of course, I certainly would never advise someone not to commit
> because of the extra rountrip :) In fact, for most scenarios I would
> recommend opening an explicit transaction, do as much work in it as is
> possible (from a functional/application point of view) and then COMMIT
> the whole set of changes. I wouldn't lose sleep over the extra
> rountrip for that COMMIT statement.
> 
>> 
>> Tim
>> 
>> 
> 
> 
> 
> -- 
> Roland Bouman
> blog: http://rpbouman.blogspot.com/
> twitter: @rolandbouman
> 
> Author of "Pentaho Solutions: Business Intelligence and Data
> Warehousing with Pentaho and MySQL",
> http://tinyurl.com/lvxa88 (Wiley, ISBN: 978-0-470-48432-6)
> 
> Author of "Pentaho Kettle Solutions: Building Open Source ETL
> Solutions with Pentaho Data Integration",
> http://tinyurl.com/33r7a8m (Wiley, ISBN: 978-0-470-63517-9)
> 


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to