多个事务和一个事务的不同点
我们项目用存储过程比较多,但是里面的语句有的执行时间比较长,所以我打算把他们从存储过程提出来,用JDBC直接执行这几个SQL,同时应用多线程来缩短执行时间,每个线程里开启一个事务。我通过使用CyclicBarrier可以做到这几个线程里的事务像分布式事务一样,实现了All-or-Nothing原则。但是由于线程的启动的时间不可预测,所以线程里的事务开启时间也不同,数据库的状态可能在这个时间差里发生变化。所以想请各位大牛给予指点:多个事务开启,开启时间不同,但是这几个事务能同时提交或回滚,那么这几个事务和在一个存储过程有什么大的不同?风险在哪里?
我的另一篇博客有我关于这个方案的的例子解释:多线程和事务之Workaround
[该贴被leizhaojin于2013-09-11 21:20修改过]