求助超大数据量insert方法 目前有一张表,数据量大概9亿左右,要把里面的数据迁移到同库下的另一张表里,请问应该怎么弄?想建立一个事务,每insert进去1W条就提交一下,应该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先要清楚,事务是自动开始的,我们只能控制事务的结束。INSERT INTO B SELECT * FROM A;让它执行罢。 如果另外一个表target_table数据不大的话,建议:1.用 create table as 产生一张表 new_table (最好加上nologing)或者将数据库 或者表空间设置为 nologing2.将原表target_table的数据 插入到new_table 3.重建索引 4.drop 原表target_table5.改名new_table--》target_table 索引改名 (应为index的名字是不能重复的 这个有点恶心) 同库下的不同表之前的数据迁移,相对较简单,考虑到你数据量大,自己写个PLSQL,自动控制事务大小,批量提交。 bulk collect into …… limitforall批量提交 使用存储过程,(order by排序,使用rownum控制流程)insert into t2 select * from t1//我测试了一下,每次执行会覆盖以前的插进来的数据 sqlldr skip参数遇到的问题! oracle多表VIEW 搜集一个语句写法 跪求jdbc driver 分段提交的问题 【请教一个简单的触发器问题】 如何在存储过程中调用另一数据库的存储过程? 初学者提问:为何我的Oracle不能显示中文?? 求分析一条应用SQL语句 脚本献上 100分献上如方案好 加分人人有分 求助,oracle内部错误 请教一下在sqlplus下无法登陆数据库的问题 关于sqlserver存储过程搬到oracle数据库 大神们请指教
1.用 create table as 产生一张表 new_table (最好加上nologing)或者将数据库 或者表空间设置为 nologing
2.将原表target_table的数据 插入到new_table
3.重建索引
4.drop 原表target_table
5.改名new_table--》target_table 索引改名 (应为index的名字是不能重复的 这个有点恶心)
forall
批量提交
insert into t2 select * from t1//我测试了一下,每次执行会覆盖以前的插进来的数据