过着简单,真实的生活,喜欢收藏变形金刚(TFE,G1,SL系列),研究金融股市,KOF98,篮球,学习研究Oracle技术,我并不是一个全职的Oracle DBA,但是对于Oracle技术的热爱和研究,是一个不争的事实,愿意结交广大Oracle技术爱好者!MSN:oracle_kof_tf@hotmail.com
一次bind var和non-bind var的测试
上一篇 /
下一篇 2007-12-27 16:28:29
/ 个人分类:Oracle数据库技术-Tips
可以看出二者的性能差的不是一点半点儿.....
SQL> alter system flush shared_pool;
系统已更改。
SQL> declare
2 type rc is ref cursor;
3 l_rc rc;
4 l_objectName all_objects.object_name%type;
5 l_startTime number default dbms_utility.get_time;
6 begin
7 for var in 1 .. 1000
8 loop
9 open l_rc for 'select /*+ rule */ object_name from dba_objects where object_id = '||var;
10 fetch l_rc into l_objectName;
11 close l_rc;
12 end loop;
13
14 dbms_output.put_line(round( (dbms_utility.get_time-l_startTime)/100,2)||' seconds...');
15 end;
16 /
12.17 seconds...
PL/SQL 过程已成功完成。
SQL> alter system flush shared_pool;
系统已更改。
SQL> declare
2 type rc is ref cursor;
3 l_rc rc;
4 l_objectName all_objects.object_name%type;
5 l_startTime number default dbms_utility.get_time;
6 begin
7 for var in 1 .. 1000
8 loop
9 open l_rc for 'select object_name from dba_objects where object_id = :x' using var;
10 fetch l_rc into l_objectName;
11 close l_rc;
12 end loop;
13
14 dbms_output.put_line(round( (dbms_utility.get_time-l_startTime)/100,2)||' seconds...');
15 end;
16 /
.12 seconds...
PL/SQL 过程已成功完成。
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: