WARNING: This server is unstable and will be retired in the next days.
If you want to keep this forum available, please request immediately a migration
on the
Nabble Support forum.
Forums that don't receive any migration request will be deleted forever.
"Multiple BTM with multiple jdbc datastores" + "jdbc prepareStatements"
Hi,
I am using BTM for prototyping a shared nothing database; where a transaction can touch multiple databases so I need two-phase commit. I will appreciate if you can answer the following:
1) As per documentation, I can use multiple BTM with a single datastore. I want to use multiple BTMs (running on different machines) for multiple jdbc datastores, where a transaction can update rows on different datastores. According to my experiments, we cannot have 'Seriablizable' isolation level in this context. Is this correct?
2) I am using prepareStatements in jdbc. As I see, I have to 'prepare' a prepareStatement everytime I want to run a query. For example:
btm.begin()
PrepareStatement p = con.prepareStatement("...");
p.setInt(1,1);
...
p.executeUpdate();
btm.commit();
Creating a statement everytime I want to run a transaction has performance penalties. I am unable to do something like:
PrepareStatement p = con.prepareStatement("...");
btm.begin()
p.setInt(1,1);
p.executeUpdate();
btm.commit();
btm.begin()
p.setInt(1,2);
p.executeUpdate();
btm.commit();
i.e. use the same prepare statement multiple times. Is setting a high value of PreparedStatementCacheSize going to improve efficiency of "con.prepareStatement("...");" within a btm.begin()/end()? I ran some basic experiments, and PreparedStatementCacheSize didnt help much. Can you kindly comment on how to make this efficient?
Thank you very much!