2 zxj0905094127 zxj0905094127 于 2017.08.29 16:00 提问

将一个数据库的某个表插入另一个数据库的某张表

各位大牛,现在将INFORMIX数据库中的表A 插入到oracle数据库中的表B,现在是查表A放到list中 然后再一条条插到表B中。之前数据量小,所以速度很快,现在数据量一大,就慢了。问下各位大牛,有没有什么方法可以提高效率?

5个回答

little_prog
little_prog   2017.08.29 17:26
已采纳

如果说你的表A是进行更新读取的话,可以设置一个记忆点,再次同步就从记忆点往后同步就可以减少大批量数据的同步了。
如果你每次都需要完整的同步表的话,一是分页读取数据,不要每次都读全部数据,占内存。二是对缓存的刷新,批量刷,如1000条刷一次。三的话就是用存储过程批量弄了。
目前只想到这些了

qq_23136465
qq_23136465   2017.08.29 16:11

http://www.itpub.net/thread-1601388-1-1.html
这里好像对你有用,你试试

qq_23136465
qq_23136465   2017.08.29 16:13
zxj0905094127
zxj0905094127 INFORMIX那边不会导出数据库,只是让我们连接库去取数据
3 个月之前 回复
qq_23292875
qq_23292875   2017.08.29 16:42
    jdbc  PreparedStatement.addBatch(sql);    把sql拼成这样  insert into table (a) values (""),(""),(""),("")
guojiguang
guojiguang   2017.08.29 16:50

insert into tableName values (select * from tableName); 第一个table是你要插入数据的表,第二个是数据表

guojiguang
guojiguang 回复骑风追马: 额 是我理解错了 我以为是oracle中的两个表呢
3 个月之前 回复
little_prog
little_prog 这种sql不行吧,数据库都不一样
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片