数据库处理效率优化问题

扶瑶直上 2013-03-14 07:54:28
--------------以下是前提--------------------
目前有一个表A,数据量300万,表A有主键KEY。
还有表B、C、D,这三张表也包含了表A这个主键KEY的列,但主键不是它。这三张表都以这个KEY这一列做了索引。表B、C的数据量有1亿,表D的数据量有3亿。
--------------以下是问题--------------------
现在我需要根据表A中的数据来拿表BCD中的数据(某些列),然后写入另外一个表E。
由于数据量的庞大,简单的select;insert效率非常低下,处理完表A这三百万的数据库得花很长时间。我把表A拆成了10份,做了一个并行处理,时间还是达不到要求。请各位大神支招,能从架构上解决这个问题。
...全文
305 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
raymonshi 2013-03-27
  • 打赏
  • 举报
回复
持续关注
扶瑶直上 2013-03-27
  • 打赏
  • 举报
回复
这帖子要埋没了,顶一下!
扶瑶直上 2013-03-16
  • 打赏
  • 举报
回复
引用 2 楼 xinpingf 的回复:
呵呵,300万全部插入E表?还是只插一部分 如果是全部的话,再加上关联的BCD表,不慢才怪,要是再出现笛卡尔积……
是300万全部插入E表,这是现状,目前系统处理这些要花4个小时,所以我才想换一个实现方式来节省时间。
xinpingf 2013-03-15
  • 打赏
  • 举报
回复
呵呵,300万全部插入E表?还是只插一部分 如果是全部的话,再加上关联的BCD表,不慢才怪,要是再出现笛卡尔积……
lhdz_bj 2013-03-15
  • 打赏
  • 举报
回复
虽然你谈了一大堆,但你的具体需求几乎没谈到,比如:你怎么拿数据往E表里写(SQL)?你需要多久处理完?各表的结构是什么情况?当然,你可能不希望大家知道你具体的东西太多,但你可以修改一些信息,比如:表名,字段名,只要能说明问题,大家才能帮到你。还有,是oracle库还是其他库?什么版本?

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧