-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathusing_DBMS_HPROF.sql
65 lines (51 loc) · 1.04 KB
/
using_DBMS_HPROF.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
CREATE TABLE TEST_TABLE
AS
SELECT ROWNUM RN, LEVEL LEV
FROM DUAL
CONNECT BY ROWNUM < 100000;
SELECT * FROM TEST_TABLE;
CREATE OR REPLACE PROCEDURE TEST
AUTHID DEFINER
IS
N NUMBER;
PROCEDURE FOO
IS
BEGIN
SELECT COUNT (*)
INTO N
FROM TEST_TABLE
WHERE ROWNUM < 10;
END FOO;
BEGIN -- test
FOR I IN 1 .. 3
LOOP
FOO;
END LOOP;
END TEST;
/
BEGIN
DBMS_HPROF.START_PROFILING ('BDSM_DIR', 'test.trc');
END;
/
BEGIN
TEST;
END;
/
BEGIN
DBMS_HPROF.STOP_PROFILING;
END;
/
DECLARE
RUNID NUMBER;
BEGIN
RUNID :=
DBMS_HPROF.ANALYZE (LOCATION => 'BDSM_DIR', FILENAME => 'test.trc');
DBMS_OUTPUT.PUT_LINE ('runid = ' || RUNID);
END;
SELECT * FROM DBMSHP_RUNS;
SELECT * FROM DBMSHP_FUNCTION_INFO;
SELECT * FROM DBMSHP_PARENT_CHILD_INFO;
-- Under oracle
-- # plshprof -output report test.trc
-- # plshprof -output report_difference test.trc test2.trc
DROP TABLE TEST_TABLE;