oracle在插入数据的时候有2种方式:
1.如果在hwm前面存在空余的空间,数据将会直接在hwm(高水位线)前面空余的空间插入
同时将会受到数据完整性约束的影响。
SQL> create table bt as select * from all_objects where 1=0;
Table created.
SQL> select count(*) from all_objects;
COUNT(*)
----------
30645
SQL> insert into bt select * from all_objects;
30645 rows created.
SQL> select count(*) from bt;
COUNT(*)
----------
30645
注意:在这里我还没有commit,我用select语句查看可以执行
2.direct-path insert 也就是直接插入的方式。它不会考虑hwm前面是否有空余的空间,它会直接在hwm后面直接插入。如果commit后会直接通过buffer cache 写进数据文件,它不会等带checkpoint的时候才写数据到数据文件。
这种方式有2种模式:serially(串行),parallel(并行)
a serially direct load
SQL> commit;
Commit complete.
SQL> select count(*) from bt;
COUNT(*)
----------
30645
SQL> insert /*+append */ into bt select * from all_objects;
30645 rows created.
SQL> commit;
Commit complete.
SQL> select count(*) from bt;
COUNT(*)
----------
61290
注意:在这里我还没有commit的时候它是不可以select的,一旦我commit后就可以用select查看了
b. parallel direct load
--创建分区表
SQL> create table emp (empno number,empname varchar2(20))
2 partition by hash(empno)
3 (partition part1,
4 partition part2)
5 /
Table created
SQL> col object_name format a40
SQL> select object_name,object_type from user_objects;
OBJECT_NAME OBJECT_TYPE
---------------------------------------- ------------------
EMP TABLE PARTITION
EMP TABLE PARTITION
EMP TABLE
T TABLE
--修改session打开并行
SQL> alter session enable parallel dml;
Session altered.
--parallel(u1.bt,2) 2表示打开2并行度
SQL> insert /*+parallel(u1.bt,2) */ into u1.bt nologging
2 select * from user_objects;
13925 rows created.
SQL> select count(*) from u1.bt;
COUNT(*)
----------
13925
SQL> commit;
Commit complete.
SQL> select count(*) from u1.bt;
COUNT(*)
----------
13925
分享到:
相关推荐
Oracle笔记Oracle笔记Oracle笔记Oracle笔记Oracle笔记Oracle笔记
这个是我学习网上的视频做的oracle笔记,对于oracle一窍不通的菜鸟可能有用吧,大家有需要可以看看
韩顺平oracle笔记(免费)韩顺平oracle笔记(免费)
Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记
初学Oracle 最最需要的东东 史上最全的oracle笔记
达内,tarena,oracle笔记,oraclePPT课件,达内oracle笔记 包含达内数据库脚本
本文档主要是网易云李兴华老师进行授课时所作笔记,从Oracle11g数据库的安装到复杂查询做了详细的文档记录。
马士兵oracle笔记,浅显易懂。
oracle经典笔记oracle经典笔记oracle经典笔记oracle经典笔记oracle经典笔记oracle经典笔记
oracle学习笔记,包括oracle常用的语法和个人总结。
oracle笔记创建和管理表,增加列,删除列,修改列,修改列名和数据类型和长度,修改表名等等操作,有代码案例!
这是李兴华对Oracle讲解后的全部笔记,都整理好了,pdf文件,有兴趣学习的可以下载看看
oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记...
CSDN确有不少好的资源,但很多都要积分,有的还要的很多,这样有些人苦于积分...这个资源是不要积分的,如果你想学Oracle,这无疑是最好的参考之一。反正不要积分,不妨下来一看。如果不好,也不用因为痛失积分而懊恼。
里面主要啊hi学习Oracle时的一些笔记,希望能帮助到需要的初学者
Oracle非常有用的笔记。。。。。。。。。。。Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记
oracle 详细笔记,玩转oracle,简单,快捷的学习oracle
Oracle 笔记.rar Oracle 笔记.rar Oracle 笔记.rar Oracle 笔记.rar Oracle 笔记.rar
达内培训 2010年 Oracle 笔记全 奉献给喜欢的哥们们~ 希望对你们有帮助!