關於oracle sql變數繫結提高效率

mrhaozi發表於2009-12-22

create or replace procedure proc1
as
begin
for i in 1 .. 10000
loop
execute immediate
'insert into t values ( :x )' using i;
end loop;
end;

create or replace procedure proc2
as
begin
for i in 1 .. 10000
loop
execute immediate 'insert into t values ( '||i||')';

end loop;
end;

上面倆個儲存過程實現功能一樣用sqlplus分別執行

SQL> exec proc1;

PL/SQL 過程已成功完成。

已用時間: 00: 00: 00.96
SQL> exec proc2;

PL/SQL 過程已成功完成。

已用時間: 00: 00: 03.00

盡然差了三倍的時間,看來變數繫結確實能減少oracle解析語句時間,以後的注意這個了

[@more@]關於

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16396910/viewspace-1029894/,如需轉載,請註明出處,否則將追究法律責任。

相關文章