Oracle插入大数据的方法总结
2013-11-25 22:23
197 查看
假设T1是待插入的表,数据来自T2(或者多表连接产生的临时表)
一、使用hint
INSERT /*+
nologging append parallel(T1,4)*/
INTO T1 SELECT * FROM T2;
1、非归档模式下,只需append就能大量减少redo的产生;归档模式下,只有append+nologging才能大量减少redo。
2、insert /*+ append */ 时会对表加锁(排它锁),会阻塞表上的除了select以外所有DML语句;传统的DML在TM
enqueue上使用模式3(row exclusive),其允许其他DML在相同的模式上获得TM enqueue。但是直接路径加载在TM
enqueue使用模式6(exclusive),这使其他DML在直接路径加载期间将被阻塞。
3、insert /*+ append */ 直接路径加载,速度比常规加载方式快。因为是从HWM的位置开始插入,也许会造成空间浪费。
4、parallel是并发执行,参数是指并发的线程数。
二、使用exp/imp 或 expdp/impdp
一、使用hint
INSERT /*+
nologging append parallel(T1,4)*/
INTO T1 SELECT * FROM T2;
1、非归档模式下,只需append就能大量减少redo的产生;归档模式下,只有append+nologging才能大量减少redo。
2、insert /*+ append */ 时会对表加锁(排它锁),会阻塞表上的除了select以外所有DML语句;传统的DML在TM
enqueue上使用模式3(row exclusive),其允许其他DML在相同的模式上获得TM enqueue。但是直接路径加载在TM
enqueue使用模式6(exclusive),这使其他DML在直接路径加载期间将被阻塞。
3、insert /*+ append */ 直接路径加载,速度比常规加载方式快。因为是从HWM的位置开始插入,也许会造成空间浪费。
4、parallel是并发执行,参数是指并发的线程数。
二、使用exp/imp 或 expdp/impdp
相关文章推荐
- Oracle误删数据恢复方法总结
- Oracle插入日期数据常见的2个问题和解决方法
- 在Oracle中向视图中插入数据的方法
- Oracle插入数据并获取自增长序列ID方法
- Oracle之删除数据之后如何恢复的方法总结
- mysql && oracle 导入导出数据方法总结
- 简单总结db2,sqlserver,oracle,mysql 取数据集中的几条数据的方法
- (2)JDBC (C3P0)大批量数据的插入、更新实用方法。(实战篇)-个人总结
- oracle使用 merge 更新或插入数据(总结)
- oracle误删除表或者表数据的恢复方法总结
- oracle使用 merge 更新或插入数据(总结)
- Oracle 利用储存过程插入循环插入大量数据方法
- 使用JdbcTemplate 向ORACLE插入大文本CLOB数据的方法
- oracle load data 导入数据方法总结
- 总结批量插入数据的方法
- ORACLE当遇到“数据大小超出此类型的最大值”和“仅可以为插入 LONG 列的 LONG 值赋值”异常时的解决方法
- oracle 10g 管理权限和角色,以及有关方面的数据字典的使用方法总结
- DTL中插入和删除数据的两种方法总结
- Mybatis Oracle 批量插入数据的方法
- (1)JDBC (C3P0)大批量数据的插入、更新实用方法。(配置篇)-个人总结