`

oracle笔记【direct load】

阅读更多
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学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记

    史上最全的oracle笔记

    初学Oracle 最最需要的东东 史上最全的oracle笔记

    达内,tarena,oracle笔记,oraclePPT课件,达内oracle笔记

    达内,tarena,oracle笔记,oraclePPT课件,达内oracle笔记 包含达内数据库脚本

    Oracle学习笔记 PDF

    本文档主要是网易云李兴华老师进行授课时所作笔记,从Oracle11g数据库的安装到复杂查询做了详细的文档记录。

    马士兵oracle笔记

    马士兵oracle笔记,浅显易懂。

    oracle经典笔记

    oracle经典笔记oracle经典笔记oracle经典笔记oracle经典笔记oracle经典笔记oracle经典笔记

    oracle笔记.docx

    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安装个人笔记oracle adg安装个人笔记...

    Oracle课堂笔记(很全很详细的Oracle笔记)

    CSDN确有不少好的资源,但很多都要积分,有的还要的很多,这样有些人苦于积分...这个资源是不要积分的,如果你想学Oracle,这无疑是最好的参考之一。反正不要积分,不妨下来一看。如果不好,也不用因为痛失积分而懊恼。

    oracle笔记.pdf

    里面主要啊hi学习Oracle时的一些笔记,希望能帮助到需要的初学者

    Oracle学习笔记 Oracle学习笔记

    Oracle非常有用的笔记。。。。。。。。。。。Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记

    oracle笔记

    oracle 详细笔记,玩转oracle,简单,快捷的学习oracle

    Oracle 笔记.rar

    Oracle 笔记.rar Oracle 笔记.rar Oracle 笔记.rar Oracle 笔记.rar Oracle 笔记.rar

    达内 2010Oracle笔记全

    达内培训 2010年 Oracle 笔记全 奉献给喜欢的哥们们~ 希望对你们有帮助!

Global site tag (gtag.js) - Google Analytics