Oracle 插入大量数据
2013-08-15 19:31
369 查看
1. 采用高速的存储设备,提高读写能力,如:EMC 和NetApp,2. 假如tab1表中的没有数据的话DROP TABLE TAB1;CREATE TABLE TAB1 AS SELECT * FROM TAB2;然后在创建索引3. 用Hint 提示减少操作时间INSERT /*+Append*/ INTO TAB1 SELECT * FROM tab2;/*+Append*/说明:
使用append会增加数据插入的速度。 /*+APPEND*/的作用是在表的高水位上分配空间,不再使用表的extent中的空余空间 append 属于direct insert,
归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo 不去寻找 freelist 中的free block , 直接在table HWM 上面加入数据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 处理大量数据(2)给当前的两个表分别改名alter table tab1 rename to tab11;alter table tab2 rename to tab1;(1)导出改名前的tab2exp 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://blog.csdn.com/tianlesoftware/article/details/4969691
相关文章推荐
- Oracle 插入大量数据
- 快速向表中插入大量数据Oracle中append与Nologging
- 向oracle表中插入大量数据
- JDBC向oracle插入大量(上万条)数据
- [Oracle]快速插入大量(100w)数据
- Oracle优化:大量数据插入或更新
- (转)Oracle 插入大量数据
- 转:Oracle 插入大量数据
- Oracle中插入大量测试数据
- ORACLE中 大量数据插入表 SQL
- Oracle 插入大量数据
- Oracle:高效插入大量数据经验之谈
- 关于oracle插入大量数据时提示 cannot insert Null into....
- 快速向表中插入大量数据Oracle中append与Nologging
- oracle教程之Oracle插入大量数据操作
- Oracle 插入大量数据
- Oracle:高效插入大量数据经验之谈
- Oracle:高效插入大量数据经验之谈
- Oracle 利用储存过程插入循环插入大量数据方法
- 需要大量插入oracle测试数据