体系结构方面的优化问题:
具体的sql优化:
sqlplus drop table t purge; create table t (x int); alter system flush shared_pool; set timing on
create or replace procedure proc1 as begin for i in 1..100000 loop execute immediate ‘insert into t values(‘||i||’)’; commit; end loop; end; /
exec proc1;
col sql_text format a30
set pagesize 1000
select t.sql_text,t.sql_id,t.parse_calls,t.executions from v$sql t where sql_text like ‘%insert into t values%‘ and rownum<100;
##resetpool.sql:
drop table t purge; create table t(x int); alter system flush shared_pool; set pagesize 1000 col sql_text format a30
create or replace procedure proc2 as begin for i in 1..100000 loop execute immediate ‘insert into t values( :x )‘ using i; commit; end loop; end; /
select t.sql_text,t.sql_id,t.parse_calls,t.executions from v$sql t where sql_text like ‘%insert into t values%‘;
create or replace procedure proc3 as begin for i in 1..100000 loop insert into t values( i ); commit; end loop; end; /
create or replace procedure proc4 as begin for i in 1..100000 loop insert into t values( i ); end loop; commit; end; /
insert into t select rownum from dual connect by level <=100000;
create table t as select rownum x from dual connect by level <= 1000000;
create table t nologging parallel 4 as select rownum x from dual connect by level <=1000000;
原文:http://www.cnblogs.com/alexweng/p/4401082.html