CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

一张表有5000万条以上的记录,要求insert到另外一张表里,什么方法最快?

楼主learn920()2005-06-03 16:40:27 在 Oracle / 开发 提问

一张表有5000万条以上的记录,要求insert到另外一张表里,什么方法最快? 问题点数:0、回复次数:7Top

1 楼juren250()回复于 2005-06-03 16:57:56 得分 0

如果是多CPU的话  
  insert   /*+parallel(n)   */   into   b    
  select   *   from   a;           其中N表示CPU的数量。  
  如果不是  
  insert   into   /*+append   */   into   b    
  select   *   from   a;Top

2 楼juren250()回复于 2005-06-03 16:59:33 得分 0

补充一下,在操作1之前需要先设置一下SQL执行环境  
  alter   session   enable   paralell   dml;Top

3 楼flhyp()回复于 2005-06-03 17:04:39 得分 0

select   into  
  Top

4 楼learn920()回复于 2005-06-03 18:51:10 得分 0

好像并行操作是全表扫描的情况下才有效的Top

5 楼learn920()回复于 2005-06-03 18:51:35 得分 0

那如果5亿呢,50亿呢  
  一条insert语句啊?Top

6 楼learn920()回复于 2005-06-04 09:33:52 得分 0

upTop

7 楼skystar99047(天星)回复于 2005-06-04 10:03:42 得分 0

写个存储过程,用游标执行遍历查询,将数据插入目标表,做个计数器,分批提交数据,如一万条提交一次。Top

相关问题

  • 表里面有多少条记录
  • 向表里添加记录的问题
  • 查出表里面的重复记录
  • 怎么删除表里的记录?
  • 如何判断表里是否有记录,并得到表里的记录数?
  • @@@@@@@如何在触发器里把某个表insert updata delete的记录保存到另外的表里
  • 怎么知道一个表里有多少条记录?
  • 如何得到oracle数据库表里的记录个数?
  • 如何知道一个表里面有多少条记录???????
  • vb里怎样删除Foxpro表里的记录

关键词

  • 数据
  • cpu
  • 表里
  • 要求insert到另外
  • 表有5000万
  • insert
  • 提交
  • 方法最快
  • 以上的记录
  • into b select

得分解答快速导航

  • 帖主:learn920

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo