当前位置:编程学习 > JAVA >>

大家来讨论一下数据库导入导出的算法问题吧

现在要从一个SQL Server 2008服务器上每天读取N个增量表(有insert和delete),最多的增量条数10000条左右,数据表达到百万级,分发到几台服务器(数据库有MSSQL、ORACLE等),表名不一致,字段名不一致,我尝试了几种方法:
1、用executeBatch先执行delete,在executeBatch执行insert
2、在目标数据库中创建临时表,然后再执行一个存储过程先delete再insert
3、在目标数据中创建存储过程,用executeBatch调用存储过程
第一种方法遇到的问题是遇到数据量非常大,delete是非常慢,因为是通过主键一条一条删除
第二种和第三种方法倒是效率很高,但工作量巨大。
大家有啥好办法啊?支个招吧!谢谢!谢谢!谢谢! 数据库 算法 --------------------编程问答-------------------- 没用到什么算法吧。直接用一下 数据库缓存不好不好   --------------------编程问答-------------------- 可以用脚本,不用java做这个码? --------------------编程问答--------------------
引用 1 楼 scottxzj 的回复:
没用到什么算法吧。直接用一下 数据库缓存不好不好  

不理解是什么意思? --------------------编程问答--------------------
引用 2 楼 okafor2011 的回复:
可以用脚本,不用java做这个码?

用什么脚本?SQL?原来就是用SQL分发数据,可是跨服务器的分发效率真是很低,我曾考虑过用复制订阅的方式,可是不太现实。 --------------------编程问答-------------------- 函数   管道呢  
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,