我们可以使用直接路径的方式插入数据,绕过sga,但是直接路径的方式不会共享数据,也可以将在插入的时候关闭日志,提高插入的速度,但对于数据而言安全性回降低。
以下是实验:
SQL> drop table t purge;
Table dropped.
SQL> create table t as select * from dba_objects where 1=2;
Table created.
----普通插入
SQL> set timing on
SQL> insert into t select * from dba_objects;
86370 rows created.
Elapsed: 00:00:01.52
SQL> rollback;
Rollback complete.
---直接路径插入
Elapsed: 00:00:00.07
SQL> insert /*+append */ into t select * from dba_objects;
86370 rows created.
Elapsed: 00:00:00.39
SQL>
SQL> rollback;
Elapsed: 00:00:00.01
----关闭日志的方式insert数据
SQL> insert /* nologging */ into t select * from dba_objects;
86370 rows created.
Elapsed: 00:00:00.29
Rollback complete.
---直接路径插入+关闭日志的方式
Elapsed: 00:00:00.02
SQL> insert /*+append nologging */ into t select * from dba_objects;
86370 rows created.
Elapsed: 00:00:00.22
以下是实验:
SQL> drop table t purge;
Table dropped.
SQL> create table t as select * from dba_objects where 1=2;
Table created.
----普通插入
SQL> set timing on
SQL> insert into t select * from dba_objects;
86370 rows created.
Elapsed: 00:00:01.52
SQL> rollback;
Rollback complete.
---直接路径插入
Elapsed: 00:00:00.07
SQL> insert /*+append */ into t select * from dba_objects;
86370 rows created.
Elapsed: 00:00:00.39
SQL>
SQL> rollback;
Elapsed: 00:00:00.01
----关闭日志的方式insert数据
SQL> insert /* nologging */ into t select * from dba_objects;
86370 rows created.
Elapsed: 00:00:00.29
Rollback complete.
---直接路径插入+关闭日志的方式
Elapsed: 00:00:00.02
SQL> insert /*+append nologging */ into t select * from dba_objects;
86370 rows created.
Elapsed: 00:00:00.22
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30345407/viewspace-2150366/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30345407/viewspace-2150366/