[问题] Spring JDBC可以控制特定Connection吗?

楼主: aegis105 (NO)   2016-03-08 20:07:47
各位JAVA前辈好
先描述一下目前状况
作者: ssccg (23)   2016-03-08 20:41:00
temp table是在commit的时候清空,跟connection无关你需要的是Transaction没有用transaction时JdbcTemplate每个动作会auto commit忘了问哪种DB,因为你说的像oracle的所以上面是说oracle的你table A资料作完就不用了,那为什么要commit?oracle的temp table是在commit(结束transaction时清空)所以就是开一个transaction中作完insert、join select之后再commit我猜你把commit当成insert...
作者: yyc1217 (somo)   2016-03-08 23:04:00
建立connection的成本蛮大的 如果太频繁的确会造成影响这也是为什么有connection pool 用query清空也许比较好或是每次建立不同的temp表 db再用排程删掉
作者: adrianshum (Alien)   2016-03-09 01:10:00
Oracle temp table 建立时可指明commit 或connectionclose 时清空。另,因为connection pool 并不会真的close connection,类似情况下不建议用后者
作者: ssccg (23)   2016-03-09 02:56:00
我不知道可以设成connection close时清空,不过因为pool的关系通常是用commit时清空的用法吧如果是connection时清空,在用pool的情况下你只能自己每个transaction去做trucate了只要有用connection pool,上层取到的connection都是wrap过的,你close都只是把connection还回pool,不能真的关掉可以要求改DB定义的话去换成on commit delete吧
作者: cug990617 (CUG)   2016-03-09 13:23:00
你可以试着写一个Procedure,把资料送进去后再处理
作者: j16598231 (荥䴖)   2016-03-09 21:36:00
试试用batch?
作者: kiwatami (悠游自在)   2016-03-10 12:02:00
temp table可以用stored procedure开 执行完就消失了不需要管连线 要做这种一堆处理的写在里面速度会快点

Links booklink

Contact Us: admin [ a t ] ucptt.com