Hi Borut, I may try running it in debugger this week or early next week (during ApacheCon, when I have a bit of spare time).
For now can you explain how do you know that batching didn't work? Was there an exception? Was a a difference in performance, etc? IIRC the only difference in Cayenne logging output between batch and no-batch mode is "bind" vs. "batch bind" String for parameters. Is this what you are referring to? Andrus On Oct 27, 2010, at 12:00 PM, Borut Bolčina wrote: > Hello, > > in another thred Andrus suggested to have a look at current support for > MySQL batching. > > According to: > > - http://bbish.net/htmls/mysql/news.html (Changes in MySQL Connector/J > 5.1.3) > - http://www.jroller.com/mmatthews/entry/speeding_up_batch_inserts_for(bug > corrected in connectorJ 5.1.8) > > the batching is supported. > > I added > rewriteBatchedStatements=true > > to conection string and in the modeller I set the > Custom Adapter to org.apache.cayenne.dba.mysql.MySQLAdapter > > and in the code I initialized the adapter with > DataDomain dataChannel = (DataDomain) dataContext.getChannel(); > DataNode dataNode = dataChannel.getNode("MapsNode"); > MySQLAdapter mySQLAdapter = (MySQLAdapter) dataNode.getAdapter(); > mySQLAdapter.setSupportsBatchUpdates(true); > > Then I tried different scenarios: datacontext.commit() on every 100 changed > objects and commit after all (4000) objects were added to a datacontext. > > I was running my test with connectorJ 5.1.12 and sadly the batch insert does > not work. I was watching the MySQL server's general query log for definite > confirmation what the database is getting from the driver. > > Maybe there is something else to set-up? I really wish this would work, as > performance gains are enormous. > > Cheers, > Borut
