| From: | Steve Adams |
| Date: | 23-Sep-2000 13:32 |
| Subject: | PARSE_CALLS and EXECUTIONS in V$SQLAREA |
|
|
In PL/SQL, Pro*C and many other environments it is possible to explicitly open, parse, execute and close cursors. If an SQL statement is parsed in a cursor and then executed repeatedly without closing the cursor or parsing another statement in it, then the V$SQLAREA statistics will show many more EXECUTIONS than PARSE_CALLS for that statement. If statements are never reused, then EXECUTIONS and PARSE_CALLS are normally identical. Note that the count of parse calls includes hits in the session cursor cache, which don't even touch the shared cursor. This is done by updating the statistics when the shared cursor is unpinned after execution.
|
![]() |
I'd like to know how Oracle calculates the parse_calls statistic for a sql statement in v$sqlarea. Viewing all the sql statements in v$sqlarea shows that there are sql statements with high number of executions that have identical value in the parse_calls column (i.e., executions = parse_calls) as well high execution statements that have very low value for the parse_calls column.
|