如何解决大量数据导入到数据库?
现在有这样的一个需求:1.有大量的数据要导入到数据库中,数据库暂定为oracle10g。2.提供两种导入方法:追加导入和更新导入。3.一次导入的数据量暂以十万级为单位。4...
现在有这样的一个需求:
1.有大量的数据要导入到数据库中,数据库暂定为oracle 10g。
2.提供两种导入方法:追加导入和更新导入。
3.一次导入的数据量暂以十万级为单位。
4.在导入时,如果数据库中存在现在将要导入的数据(既现在导入的数据在数据库中存在,只需要修改的),先把原记录备份到另外一张表中,然后再进行修改操作,目的是保存所有数据的历史版本。
5.程序语言采用Java。
6.在操作和代码上无任何其他限制。
还有些没写上:
1.导入的数据以上传电子表格的形式。
2.不只是一张表,一共有三张表,关系:A<-B<-C (例如:国家<-省<-市)
3.在进行导入时,上传的电子表格(一个sheet)已包含三张表的所有内容和关系,即电子表格的每行记录以C为唯一标准。
我暂时的想法是再建一张拥有三张表所有字段的中间表,然后再操作。
谁做过相关方面的,请给给建议。谢谢。 展开
1.有大量的数据要导入到数据库中,数据库暂定为oracle 10g。
2.提供两种导入方法:追加导入和更新导入。
3.一次导入的数据量暂以十万级为单位。
4.在导入时,如果数据库中存在现在将要导入的数据(既现在导入的数据在数据库中存在,只需要修改的),先把原记录备份到另外一张表中,然后再进行修改操作,目的是保存所有数据的历史版本。
5.程序语言采用Java。
6.在操作和代码上无任何其他限制。
还有些没写上:
1.导入的数据以上传电子表格的形式。
2.不只是一张表,一共有三张表,关系:A<-B<-C (例如:国家<-省<-市)
3.在进行导入时,上传的电子表格(一个sheet)已包含三张表的所有内容和关系,即电子表格的每行记录以C为唯一标准。
我暂时的想法是再建一张拥有三张表所有字段的中间表,然后再操作。
谁做过相关方面的,请给给建议。谢谢。 展开
2个回答
展开全部
针对你说的第二个问题:追加导入和更新导入,其实这就是一种方法的两个方面,若是数据库里没有数据,则追加,否则更新;这里提醒一下:注意锁定表
第三个问题:数十万级为单位是指百万还是千万数据?数据量大的情况下注意其SQL的优化
第四:比较简单的方式是:不管数据库里有没有数据需要更新,都先备份,然后再进行操作
关于问题补充:你说的电子表示是不是指excel中拥有三个sheet,每个sheet为一张表?
你说的建立中间表的想法是非常正确的,这样可以保证源数据和目的数据源的安全,有序
附:以你提问的水准,我想不需要提供具体的代码了
第三个问题:数十万级为单位是指百万还是千万数据?数据量大的情况下注意其SQL的优化
第四:比较简单的方式是:不管数据库里有没有数据需要更新,都先备份,然后再进行操作
关于问题补充:你说的电子表示是不是指excel中拥有三个sheet,每个sheet为一张表?
你说的建立中间表的想法是非常正确的,这样可以保证源数据和目的数据源的安全,有序
附:以你提问的水准,我想不需要提供具体的代码了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
万山数据
2024-11-14 广告
2024-11-14 广告
数据仓库处理是北京万山数据科技有限公司的核心业务之一。我们专注于高效、安全地处理大规模数据,通过先进的数据仓库技术,实现数据的集成、存储、管理和分析。我们的数据仓库解决方案能够支持复杂的数据查询和分析需求,提供实时的数据洞察,助力企业做出更...
点击进入详情页
本回答由万山数据提供
展开全部
这个我都做过不知道多少了 太求简单了 procedure就搞定了 不就10万吗 也太少了点吧
补充 不需要中间表 其实这个不用存储过程用绑定变量的做法效果还是不错的不信你试下 我以前判断是否存在用的是载表的方法实现的 当然对于不同的数据量要自己处理 进行update insert用存储过程网上应该很多例子 当然也可以把判断在存储过程里做
补充 不需要中间表 其实这个不用存储过程用绑定变量的做法效果还是不错的不信你试下 我以前判断是否存在用的是载表的方法实现的 当然对于不同的数据量要自己处理 进行update insert用存储过程网上应该很多例子 当然也可以把判断在存储过程里做
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |