注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oracle专业打杂

定会重回巅峰……

 
 
 

日志

 
 

oracle教程之Oracle插入大量数据操作(转)  

2013-08-09 09:45:45|  分类: oracle |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1. 采用高速的存储设备,提高读写能力,如:EMC 和NetApp,


2. 假如tab1表中的没有数据的话

DROP   TABLE   TAB1;

CREATE   TABLE   TAB1   AS   SELECT   *   FROM   TAB2;

然后在创建索引


3. 用Hint 提示减少操作时间

INSERT   /*+Append*/   INTO     tab1

SELECT   *   FROM   tab2;


4. 采用不写日志及使用Hint提示减少数据操作的时间。

建议方案是先修改表为不写日志:

sql> alter   table   table_name   NOLOGGING;

插入数据:

INSERT   /*+Append*/   INTO     tab1

SELECT   *   FROM   tab2;

插入完数据后,再修改表写日志:

sql> alter   table   table_name   LOGGING;

这里的区别就在于如果插入数据的同时又写日志,尤其是大数据量的insert操作,需要耗费较长的时间。


5. 用EXP/IMP 处理大量数据

(1)给当前的两个表分别改名

alter   table   tab1   rename   to   tab11;

alter   table   tab2   rename   to   tab1;

(2)导出改名前的tab2

exp   user/pwd@…   file=…   log=…   tables=(tab1)

(3)把名字改回来

alter   table   tab1   rename   to   tab2;

alter   table   tab11   rename   to   tab1;

(4)导入数据

imp   user/pwd@…   file=…   log=…   fromuser=user   touser=user   tables=(tab1)

(原文引自:http://19880614.blog.51cto.com/4202939/1264889)

  评论这张
 
阅读(86)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017