今天闲瑕之作,在于DBMS_PROFILER做存储过程优化研究,在使用过程发出许多问题不解
测试代码
Connected to Oracle9i Enterprise Edition Release 9.2.0.8.0
Connected as DB_SSGLY
SQL> CREATE TABLE a (i VARCHAR2(100));
Table created
SQL>
SQL> create or replace procedure TEST_PROFILER2 AS
2 BEGIN
3 DBMS_PROFILER.START_PROFILER('123');
4 --T_DBMS_PROFILER_PG.T_T1;
5 FOR I IN 1 .. 1000 LOOP
6 INSERT INTO A VALUES (I || '');
7
8 END LOOP;
9 COMMIT;
10 DBMS_PROFILER.STOP_PROFILER();
11 END;
12 /
Procedure created
SQL> set timing on
SQL> begin
2 TEST_PROFILER2;
3 end;
4 /
PL/SQL procedure successfully completed
Executed in 0.063 seconds
可以看使用TEST_PROFILER2执行用时0.063法。我使用pl/sql工具的"测试窗口"查看概览图,发现名“123”
显示单元总时间为:18.395秒,实在疑惑不解?这两个统计时间相差太大?
所以在此发贴,寻找答案,望牛人解惑,感激,如图:
20110616-截图 3.jpg
测试代码
Connected to Oracle9i Enterprise Edition Release 9.2.0.8.0
Connected as DB_SSGLY
SQL> CREATE TABLE a (i VARCHAR2(100));
Table created
SQL>
SQL> create or replace procedure TEST_PROFILER2 AS
2 BEGIN
3 DBMS_PROFILER.START_PROFILER('123');
4 --T_DBMS_PROFILER_PG.T_T1;
5 FOR I IN 1 .. 1000 LOOP
6 INSERT INTO A VALUES (I || '');
7
8 END LOOP;
9 COMMIT;
10 DBMS_PROFILER.STOP_PROFILER();
11 END;
12 /
Procedure created
SQL> set timing on
SQL> begin
2 TEST_PROFILER2;
3 end;
4 /
PL/SQL procedure successfully completed
Executed in 0.063 seconds
可以看使用TEST_PROFILER2执行用时0.063法。我使用pl/sql工具的"测试窗口"查看概览图,发现名“123”
显示单元总时间为:18.395秒,实在疑惑不解?这两个统计时间相差太大?
所以在此发贴,寻找答案,望牛人解惑,感激,如图:
20110616-截图 3.jpg
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13824386/viewspace-700079/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13824386/viewspace-700079/