OCP复习 - 管理(14) - 导入数据
2010-07-20 11:26
225 查看
直接路径插入
直接路径插入(Direct Path Insert)提供了高效率插入数据的方式。“直接路径”的意思就是绕过Data buffer cache,将数据直接插入数据文件,而且插入的数据都位于表的高水位线以上。
SQL语句直接路径插入的几个要点:
1、Direct Path Insert只适用于从一个已有的表往另一个表中插入数据,通过在insert语句中指定/*+APPEND*/实现:
Insert /*+APPEND */ into tableA select ... from tableB;
2、Direct Path Insert可以指定NOLOGGING模式,只写入非常少量的REDO LOG,进一步提升效率(但会对恢复带来不便,只有在归档模式下才产生显著作用?)。NOLOGGING选项不只适用于Direct Path Insert,也适用于重建索引等操作;
3、如果一个表中之前删除过大量数据后执行Direct Path Insert,会带来空间的浪费;
4、以append方式插入记录后,要执行commit,才能对表进行查询;
5、不管表是否在nologging 下,只要是direct insert,就不会对数据内容生成undo;
6、在机器有多个CPU的情况下,可以使用并发Direct Path Insert:
ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+PARALLEL(scott.emp,2) */
INTO scott.emp NOLOGGING
SELECT * FROM scott.old_emp;
并行直接路径插入也适用于CTAS方式:
create table t1 nologging parallel(degree 2) as select * from t;
SQLLoader直接路径插入
类似于SQL语句,使用SQLLoader也有两种插入方式:传统和直接路径插入(conventional & Direct Path)。直接路径插入的限制是:不能对所有约束校验,不触发trigger,其他会话无法并行修改表数据。
类似于SQL语句,通过使用多个数据源文件,SQLLoader也可以实现并行插入。
SQLLoader的几个文件:数据文件、控制文件、日志文件、非法数据文件(bad file)、抛弃数据文件(discard file,如果需要有选择的插入数据)
这篇文章对高效插入数据有较全面的论述:
http://www.examda.com/oracle/zhonghe/20100405/092807472-3.html
直接路径插入(Direct Path Insert)提供了高效率插入数据的方式。“直接路径”的意思就是绕过Data buffer cache,将数据直接插入数据文件,而且插入的数据都位于表的高水位线以上。
SQL语句直接路径插入的几个要点:
1、Direct Path Insert只适用于从一个已有的表往另一个表中插入数据,通过在insert语句中指定/*+APPEND*/实现:
Insert /*+APPEND */ into tableA select ... from tableB;
2、Direct Path Insert可以指定NOLOGGING模式,只写入非常少量的REDO LOG,进一步提升效率(但会对恢复带来不便,只有在归档模式下才产生显著作用?)。NOLOGGING选项不只适用于Direct Path Insert,也适用于重建索引等操作;
3、如果一个表中之前删除过大量数据后执行Direct Path Insert,会带来空间的浪费;
4、以append方式插入记录后,要执行commit,才能对表进行查询;
5、不管表是否在nologging 下,只要是direct insert,就不会对数据内容生成undo;
6、在机器有多个CPU的情况下,可以使用并发Direct Path Insert:
ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+PARALLEL(scott.emp,2) */
INTO scott.emp NOLOGGING
SELECT * FROM scott.old_emp;
并行直接路径插入也适用于CTAS方式:
create table t1 nologging parallel(degree 2) as select * from t;
SQLLoader直接路径插入
类似于SQL语句,使用SQLLoader也有两种插入方式:传统和直接路径插入(conventional & Direct Path)。直接路径插入的限制是:不能对所有约束校验,不触发trigger,其他会话无法并行修改表数据。
类似于SQL语句,通过使用多个数据源文件,SQLLoader也可以实现并行插入。
SQLLoader的几个文件:数据文件、控制文件、日志文件、非法数据文件(bad file)、抛弃数据文件(discard file,如果需要有选择的插入数据)
这篇文章对高效插入数据有较全面的论述:
http://www.examda.com/oracle/zhonghe/20100405/092807472-3.html
相关文章推荐
- OCP复习 - 管理(8-9) - 管理表空间和数据文件
- 2,利用mysql Workbench图形化工具管理mysql,导入与导出数据
- 模块管理常规功能自定义系统的设计与实现(10--数据新增[三、批量导入数据])
- 黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)
- solr管理配置,关于数据导入,集群复制及日志配置
- Oracle数据库用户管理和数据导入导出
- 客户关系管理系统中对客户及相关数据的导入导出分析处理
- Oracle重做日志管理与深入解析_超越OCP精通Oracle视频课程培训14
- Laxcus大数据管理系统2.0(14)- 后记
- [导入]项目开源:进行通用后台实体数据CRUD及数据间关系管理
- 模块管理常规功能自定义系统的设计与实现(09--数据新增[二、单条数据导入])
- OCP复习 - PLSQL(16),管理(16-19) - 权限管理
- Oracle数据表测试笔记-角色管理-excel数据导入
- mysql 常用用户权限管理和数据导入导出命令
- 使用Navicat 8.0管理mysql数据库(导入导出数据)
- 使用 Navicat 8.0 管理mysql数据库(导出导入数据)
- 【oracle11g,14】表空间管理3:临时表空间,表空间的脱机和只读,数据文件迁移,更改表空间数据文件的大小,表空间数据文件的迁移,使用非标准块的表空间,bigfile 表空间
- mysql系列之3----数据导入导出,管理表,查询
- Oracle OCP笔记(14)管理用户及权限
- OCP认证考试指南(14):管理数据库性能(2)