On May 6, 11:40 pm, Daiesh <mcavenkad...@gmail.com> wrote:
> Hi David,
>
> When creating the table we have used table option CACHE. But how do we
> know which is used or not when executing queries for fine tuning ?
>
> Thanks,
> Daiesh
>
> On May 6, 8:03 pm, ddf <orat...@msn.com> wrote:
>
>
>
> > On May 6, 6:57 am, Daiesh <mcavenkad...@gmail.com> wrote:
>
> > > Dear All,
>
> > > Please let me know, how can we know if the oracle table CACHE is used
> > > when we execute the query? .
>
> > > Thanks
> > > Daiesh.
>
> > What, exactly, are you asking?
>
> > David Fitzjarrell- Hide quoted text -
>
> - Show quoted text -
Now that I know what you're asking the answer is fairly simple:
You can set autotrace on and see the per-query statistics, including
consistent gets, once the results have been returned. Setting CACHE
for a table will ensure the blocks read from disk will remain in the
cache as long as possible (depending upon your configuration and the
level of activity). Let's look at an example:
SQL> --
SQL> -- Create table and cache query results
SQL> --
SQL> create table emp_c
2 cache
3 tablespace users
4 as select * from emp;
Table created.
SQL>
SQL> --
SQL> -- Let's see if it works
SQL> --
SQL> set autotrace on
SQL>
SQL> --
SQL> -- Query table, load cache, show stats
SQL> --
SQL> select *
2 from emp_c;
EMPNO ENAME JOB MGR HIREDATE SAL
COMM DEPTNO
---------- ---------- --------- ---------- --------- ----------
---------- ----------
7369 SMITH CLERK 7902 17-DEC-80
800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600
300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250
500 30
7566 JONES MANAGER 7839 02-APR-81
2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250
1400 30
7698 BLAKE MANAGER 7839 01-MAY-81
2850 30
7782 CLARK MANAGER 7839 09-JUN-81
2450 10
7788 SCOTT ANALYST 7566 09-DEC-82
3000 20
7839 KING PRESIDENT 17-NOV-81
5000 10
7844 TURNER SALESMAN 7698 08-SEP-81
1500 0 30
7876 ADAMS CLERK 7788 12-JAN-83
1100 20
7900 JAMES CLERK 7698 03-DEC-81
950 30
7902 FORD ANALYST 7566 03-DEC-81
3000 20
7934 MILLER CLERK 7782 23-JAN-82
1300 10
14 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 3230908102
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 1218 | 3 (0)|
00:00:01 |
| 1 | TABLE ACCESS FULL| EMP_C | 14 | 1218 | 3 (0)|
00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
168 recursive calls
0 db block gets
32 consistent gets
5 physical reads <--- Cache loaded
from physical reads
0 redo size
1422 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processed
SQL>
SQL> --
SQL> -- Query table again, should be reading cache
SQL> --
SQL> -- We find it does, as only consistent gets
SQL> -- are reported
SQL> --
SQL> select *
2 from emp_c;
EMPNO ENAME JOB MGR HIREDATE SAL
COMM DEPTNO
---------- ---------- --------- ---------- --------- ----------
---------- ----------
7369 SMITH CLERK 7902 17-DEC-80
800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600
300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250
500 30
7566 JONES MANAGER 7839 02-APR-81
2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250
1400 30
7698 BLAKE MANAGER 7839 01-MAY-81
2850 30
7782 CLARK MANAGER 7839 09-JUN-81
2450 10
7788 SCOTT ANALYST 7566 09-DEC-82
3000 20
7839 KING PRESIDENT 17-NOV-81
5000 10
7844 TURNER SALESMAN 7698 08-SEP-81
1500 0 30
7876 ADAMS CLERK 7788 12-JAN-83
1100 20
7900 JAMES CLERK 7698 03-DEC-81
950 30
7902 FORD ANALYST 7566 03-DEC-81
3000 20
7934 MILLER CLERK 7782 23-JAN-82
1300 10
14 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 3230908102
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 1218 | 3 (0)|
00:00:01 |
| 1 | TABLE ACCESS FULL| EMP_C | 14 | 1218 | 3 (0)|
00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
4 consistent gets <---- Only cache reads here
0 physical reads
0 redo size
1422 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processed
SQL>
SQL> --
SQL> -- Let's query another table
SQL> --
SQL> select *
2 from all_objects;
[lots of data here]
68454 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 1406736206
------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes
| Cost (%CPU)| Time |
------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 30607 |
3616K| 250 (4)| 00:00:03 |
|* 1 | TABLE ACCESS BY INDEX ROWID | SUM$ | 1 | 9
| 1 (0)| 00:00:01 |
|* 2 | INDEX UNIQUE SCAN | I_SUM$_1 | 1 |
| 0 (0)| 00:00:01 |
| 3 | TABLE ACCESS BY INDEX ROWID | OBJ$ | 1 | 30
| 3 (0)| 00:00:01 |
|* 4 | INDEX RANGE SCAN | I_OBJ1 | 1 |
| 2 (0)| 00:00:01 |
|* 5 | FILTER | | |
| | |
|* 6 | HASH JOIN | | 70169 |
8291K| 250 (4)| 00:00:03 |
| 7 | TABLE ACCESS FULL | USER$ | 98 | 1568
| 3 (0)| 00:00:01 |
|* 8 | HASH JOIN | | 70169 |
7195K| 246 (4)| 00:00:03 |
| 9 | INDEX FULL SCAN | I_USER2 | 98 | 2254
| 1 (0)| 00:00:01 |
|* 10 | TABLE ACCESS FULL | OBJ$ | 70169 |
5619K| 244 (3)| 00:00:03 |
|* 11 | TABLE ACCESS BY INDEX ROWID | IND$ | 1 | 8
| 2 (0)| 00:00:01 |
|* 12 | INDEX UNIQUE SCAN | I_IND1 | 1 |
| 1 (0)| 00:00:01 |
|* 13 | HASH JOIN | | 1 | 14
| 3 (34)| 00:00:01 |
|* 14 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11
| 2 (0)| 00:00:01 |
| 15 | FIXED TABLE FULL | X$KZSRO | 22 | 66
| 0 (0)| 00:00:01 |
|* 16 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 17 | HASH JOIN | | 1 | 14
| 3 (34)| 00:00:01 |
|* 18 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11
| 2 (0)| 00:00:01 |
| 19 | FIXED TABLE FULL | X$KZSRO | 22 | 66
| 0 (0)| 00:00:01 |
|* 20 | HASH JOIN | | 1 | 14
| 3 (34)| 00:00:01 |
|* 21 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11
| 2 (0)| 00:00:01 |
| 22 | FIXED TABLE FULL | X$KZSRO | 22 | 66
| 0 (0)| 00:00:01 |
|* 23 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 24 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
| 25 | NESTED LOOPS | | |
| | |
| 26 | NESTED LOOPS | | 1 | 67
| 8 (0)| 00:00:01 |
| 27 | NESTED LOOPS | | 1 | 57
| 5 (0)| 00:00:01 |
| 28 | NESTED LOOPS | | 1 | 46
| 4 (0)| 00:00:01 |
| 29 | MERGE JOIN CARTESIAN | | 1 | 42
| 3 (0)| 00:00:01 |
|* 30 | INDEX RANGE SCAN | I_OBJ5 | 1 | 39
| 3 (0)| 00:00:01 |
| 31 | BUFFER SORT | | 22 | 66
| 0 (0)| 00:00:01 |
| 32 | FIXED TABLE FULL | X$KZSRO | 22 | 66
| 0 (0)| 00:00:01 |
|* 33 | INDEX RANGE SCAN | I_USER2 | 1 | 4
| 1 (0)| 00:00:01 |
|* 34 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11
| 1 (0)| 00:00:01 |
|* 35 | INDEX RANGE SCAN | I_DEPENDENCY1 | 3 |
| 2 (0)| 00:00:01 |
|* 36 | TABLE ACCESS BY INDEX ROWID | DEPENDENCY$ | 1 | 10
| 3 (0)| 00:00:01 |
|* 37 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 38 | HASH JOIN | | 1 | 28
| 3 (34)| 00:00:01 |
| 39 | NESTED LOOPS | | 1 | 25
| 2 (0)| 00:00:01 |
|* 40 | TABLE ACCESS BY INDEX ROWID| TRIGGER$ | 1 | 14
| 1 (0)| 00:00:01 |
|* 41 | INDEX UNIQUE SCAN | I_TRIGGER2 | 1 |
| 0 (0)| 00:00:01 |
|* 42 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11
| 1 (0)| 00:00:01 |
| 43 | FIXED TABLE FULL | X$KZSRO | 22 | 66
| 0 (0)| 00:00:01 |
|* 44 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
| 45 | NESTED LOOPS | | |
| | |
| 46 | NESTED LOOPS | | 1 | 67
| 8 (0)| 00:00:01 |
| 47 | NESTED LOOPS | | 1 | 57
| 5 (0)| 00:00:01 |
| 48 | NESTED LOOPS | | 1 | 46
| 4 (0)| 00:00:01 |
| 49 | MERGE JOIN CARTESIAN | | 1 | 42
| 3 (0)| 00:00:01 |
|* 50 | INDEX RANGE SCAN | I_OBJ5 | 1 | 39
| 3 (0)| 00:00:01 |
| 51 | BUFFER SORT | | 22 | 66
| 0 (0)| 00:00:01 |
| 52 | FIXED TABLE FULL | X$KZSRO | 22 | 66
| 0 (0)| 00:00:01 |
|* 53 | INDEX RANGE SCAN | I_USER2 | 1 | 4
| 1 (0)| 00:00:01 |
|* 54 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11
| 1 (0)| 00:00:01 |
|* 55 | INDEX RANGE SCAN | I_DEPENDENCY1 | 3 |
| 2 (0)| 00:00:01 |
|* 56 | TABLE ACCESS BY INDEX ROWID | DEPENDENCY$ | 1 | 10
| 3 (0)| 00:00:01 |
|* 57 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 58 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 59 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
|* 60 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
|* 61 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
|* 62 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
| 63 | VIEW | | 1 | 13
| 2 (0)| 00:00:01 |
| 64 | FAST DUAL | | 1 |
| 2 (0)| 00:00:01 |
|* 65 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 66 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
|* 67 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 68 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
|* 69 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
|* 70 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 71 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
|* 72 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 73 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 74 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 75 | FIXED TABLE FULL | X$KZSPR | 2 | 14
| 0 (0)| 00:00:01 |
|* 76 | FIXED TABLE FULL | X$KZSPR | 1 | 7
| 0 (0)| 00:00:01 |
| 77 | NESTED LOOPS | | 1 | 28
| 2 (0)| 00:00:01 |
|* 78 | INDEX FULL SCAN | I_USER2 | 1 | 20
| 1 (0)| 00:00:01 |
|* 79 | INDEX RANGE SCAN | I_OBJ4 | 1 | 8
| 1 (0)| 00:00:01 |
------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(BITAND("S"."XPFLAGS",8388608)=8388608)
2 - access("S"."OBJ#"=:B1)
4 - access("EO"."OBJ#"=:B1)
5 - filter(("O"."TYPE#"<>1 AND "O"."TYPE#"<>10 OR "O"."TYPE#"=1
AND (SELECT 1 FROM
"SYS"."IND$" "I" WHERE "I"."OBJ#"=:B1 AND ("I"."TYPE#"=1
OR "I"."TYPE#"=2 OR
"I"."TYPE#"=3 OR "I"."TYPE#"=4 OR "I"."TYPE#"=6 OR
"I"."TYPE#"=7 OR "I"."TYPE#"=9))=1)
AND (("O"."SPARE3"=USERENV('SCHEMAID') OR
"O"."SPARE3"=1) OR ( EXISTS (SELECT 0 FROM
"SYS"."OBJAUTH$" "OA",SYS."X$KZSRO" "X$KZSRO" WHERE
"OA"."GRANTEE#"="KZSROROL" AND
"OA"."OBJ#"=:B2 AND ("OA"."PRIVILEGE#"=12 OR
"OA"."PRIVILEGE#"=26)) OR EXISTS (SELECT
0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=
(-144) OR (-"KZSPRPRV")=(-141) OR
(-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV
('INSTANCE'))) AND ("O"."TYPE#"=7 OR
"O"."TYPE#"=8 OR "O"."TYPE#"=9 OR "O"."TYPE#"=28 OR
"O"."TYPE#"=29 OR "O"."TYPE#"=30 OR
"O"."TYPE#"=56) OR "O"."TYPE#"<>29 AND "O"."TYPE#"<>13
AND "O"."TYPE#"<>11 AND
"O"."TYPE#"<>9 AND "O"."TYPE#"<>30 AND "O"."TYPE#"<>12
AND "O"."TYPE#"<>56 AND
"O"."TYPE#"<>8 AND "O"."TYPE#"<>14 AND "O"."TYPE#"<>7
AND "O"."TYPE#"<>28 AND EXISTS
(SELECT 0 FROM "SYS"."OBJAUTH$" "OBJAUTH$",SYS."X$KZSRO"
"X$KZSRO" WHERE
"GRANTEE#"="KZSROROL" AND "OBJ#"=:B3 AND ("PRIVILEGE#"=3
OR "PRIVILEGE#"=6 OR
"PRIVILEGE#"=7 OR "PRIVILEGE#"=9 OR "PRIVILEGE#"=10 OR
"PRIVILEGE#"=11 OR
"PRIVILEGE#"=12 OR "PRIVILEGE#"=16 OR "PRIVILEGE#"=17 OR
"PRIVILEGE#"=18)) OR ( EXISTS
(SELECT 0 FROM "SYS"."OBJAUTH$" "OA",SYS."X$KZSRO" "X
$KZSRO" WHERE
"OA"."GRANTEE#"="KZSROROL" AND "OA"."OBJ#"=:B4 AND
("OA"."PRIVILEGE#"=12 OR
"OA"."PRIVILEGE#"=26)) OR EXISTS (SELECT 0 FROM SYS."X
$KZSPR" "X$KZSPR" WHERE
((-"KZSPRPRV")=(-184) OR (-"KZSPRPRV")=(-181) OR
(-"KZSPRPRV")=(-241)) AND
"INST_ID"=USERENV('INSTANCE'))) AND "O"."TYPE#"=13 OR
("O"."TYPE#"=1 OR "O"."TYPE#"=2
OR "O"."TYPE#"=3 OR "O"."TYPE#"=4 OR "O"."TYPE#"=5 OR
"O"."TYPE#"=19 OR "O"."TYPE#"=20
OR "O"."TYPE#"=34 OR "O"."TYPE#"=35) AND EXISTS (SELECT
0 FROM SYS."X$KZSPR" "X$KZSPR"
WHERE ((-"KZSPRPRV")=(-45) OR (-"KZSPRPRV")=(-47) OR
(-"KZSPRPRV")=(-48) OR
(-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50)) AND
"INST_ID"=USERENV('INSTANCE')) OR (
EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$"
"OA","SYS"."DEPENDENCY$" "DEP",SYS."USER$"
"U",SYS."OBJ$" "O",SYS."X$KZSRO" "X$KZSRO" WHERE
"O"."NAME"=:B5 AND "O"."SPARE3"=:B6
AND "O"."TYPE#"=9 AND "O"."TYPE#"<>88 AND
"O"."OWNER#"="U"."USER#" AND
"DEP"."D_OBJ#"=:B7 AND "DEP"."P_OBJ#"="O"."OBJ#" AND
"OA"."OBJ#"="O"."OBJ#" AND
"OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL") OR
EXISTS (SELECT 0 FROM
SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=(-141) OR
(-"KZSPRPRV")=(-241)) AND
"INST_ID"=USERENV('INSTANCE'))) AND "O"."TYPE#"=11 OR
( EXISTS (SELECT 0 FROM
"SYS"."OBJAUTH$" "OA","SYS"."TRIGGER$" "T",SYS."X$KZSRO"
"X$KZSRO" WHERE
"OA"."GRANTEE#"="KZSROROL" AND "T"."OBJ#"=:B8 AND BITAND
("T"."PROPERTY",24)=0 AND
"OA"."OBJ#"="T"."BASEOBJECT" AND "OA"."PRIVILEGE#"=26)
OR EXISTS (SELECT 0 FROM
SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=(-152) OR
(-"KZSPRPRV")=(-241)) AND
"INST_ID"=USERENV('INSTANCE'))) AND "O"."TYPE#"=12 OR
( EXISTS (SELECT 0 FROM
"SYS"."OBJAUTH$" "OA","SYS"."DEPENDENCY$" "DEP",SYS."USER
$" "U",SYS."OBJ$"
"O",SYS."X$KZSRO" "X$KZSRO" WHERE "O"."NAME"=:B9 AND
"O"."SPARE3"=:B10 AND
"O"."TYPE#"=13 AND "O"."TYPE#"<>88 AND
"O"."OWNER#"="U"."USER#" AND "DEP"."D_OBJ#"=:B11
AND "DEP"."P_OBJ#"="O"."OBJ#" AND "OA"."OBJ#"="O"."OBJ#"
AND "OA"."PRIVILEGE#"=26 AND
"OA"."GRANTEE#"="KZSROROL") OR EXISTS (SELECT 0 FROM
SYS."X$KZSPR" "X$KZSPR" WHERE
((-"KZSPRPRV")=(-181) OR (-"KZSPRPRV")=(-241)) AND
"INST_ID"=USERENV('INSTANCE'))) AND
"O"."TYPE#"=14 OR "O"."TYPE#"=6 AND EXISTS (SELECT 0
FROM SYS."X$KZSPR" "X$KZSPR"
WHERE (-"KZSPRPRV")=(-109) AND "INST_ID"=USERENV
('INSTANCE')) OR "O"."TYPE#"=22 AND
EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE
((-"KZSPRPRV")=(-189) OR
(-"KZSPRPRV")=(-190) OR (-"KZSPRPRV")=(-191) OR
(-"KZSPRPRV")=(-192)) AND
"INST_ID"=USERENV('INSTANCE')) OR ("O"."TYPE#"=57 OR
"O"."TYPE#"=69 OR "O"."TYPE#"=72
OR "O"."TYPE#"=74) OR "O"."TYPE#"=33 AND EXISTS (SELECT
0 FROM SYS."X$KZSPR" "X$KZSPR"
WHERE ((-"KZSPRPRV")=(-200) OR (-"KZSPRP)
6 - access("O"."SPARE3"="U"."USER#")
8 - access("O"."OWNER#"="U"."USER#")
10 - filter(BITAND("O"."FLAGS",128)=0 AND "O"."NAME"<>'_NEXT_OBJECT'
AND
"O"."NAME"<>'_default_auditing_options_' AND
"O"."LINKNAME" IS NULL)
11 - filter("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR
"I"."TYPE#"=4 OR
"I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9)
12 - access("I"."OBJ#"=:B1)
13 - access("OA"."GRANTEE#"="KZSROROL")
14 - access("OA"."OBJ#"=:B1)
filter("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26)
16 - filter(((-"KZSPRPRV")=(-144) OR (-"KZSPRPRV")=(-141) OR
(-"KZSPRPRV")=(-241))
AND "INST_ID"=USERENV('INSTANCE'))
17 - access("GRANTEE#"="KZSROROL")
18 - access("OBJ#"=:B1)
filter("PRIVILEGE#"=3 OR "PRIVILEGE#"=6 OR "PRIVILEGE#"=7 OR
"PRIVILEGE#"=9 OR
"PRIVILEGE#"=10 OR "PRIVILEGE#"=11 OR "PRIVILEGE#"=12 OR
"PRIVILEGE#"=16 OR
"PRIVILEGE#"=17 OR "PRIVILEGE#"=18)
20 - access("OA"."GRANTEE#"="KZSROROL")
21 - access("OA"."OBJ#"=:B1)
filter("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26)
23 - filter(((-"KZSPRPRV")=(-184) OR (-"KZSPRPRV")=(-181) OR
(-"KZSPRPRV")=(-241))
AND "INST_ID"=USERENV('INSTANCE'))
24 - filter(((-"KZSPRPRV")=(-45) OR (-"KZSPRPRV")=(-47) OR
(-"KZSPRPRV")=(-48) OR
(-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50)) AND
"INST_ID"=USERENV('INSTANCE'))
30 - access("O"."SPARE3"=:B1 AND "O"."NAME"=:B2 AND "O"."TYPE#"=9)
filter("O"."TYPE#"=9 AND "O"."TYPE#"<>88)
33 - access("O"."OWNER#"="U"."USER#")
34 - access("OA"."OBJ#"="O"."OBJ#" AND "OA"."GRANTEE#"="KZSROROL"
AND
"OA"."PRIVILEGE#"=26)
filter("OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL")
35 - access("DEP"."D_OBJ#"=:B1)
36 - filter("DEP"."P_OBJ#"="O"."OBJ#")
37 - filter(((-"KZSPRPRV")=(-141) OR (-"KZSPRPRV")=(-241)) AND
"INST_ID"=USERENV('INSTANCE'))
38 - access("OA"."GRANTEE#"="KZSROROL")
40 - filter(BITAND("T"."PROPERTY",24)=0)
41 - access("T"."OBJ#"=:B1)
42 - access("OA"."OBJ#"="T"."BASEOBJECT" AND "OA"."PRIVILEGE#"=26)
filter("OA"."PRIVILEGE#"=26)
44 - filter(((-"KZSPRPRV")=(-152) OR (-"KZSPRPRV")=(-241)) AND
"INST_ID"=USERENV('INSTANCE'))
50 - access("O"."SPARE3"=:B1 AND "O"."NAME"=:B2 AND "O"."TYPE#"=13)
filter("O"."TYPE#"=13 AND "O"."TYPE#"<>88)
53 - access("O"."OWNER#"="U"."USER#")
54 - access("OA"."OBJ#"="O"."OBJ#" AND "OA"."GRANTEE#"="KZSROROL"
AND
"OA"."PRIVILEGE#"=26)
filter("OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL")
55 - access("DEP"."D_OBJ#"=:B1)
56 - filter("DEP"."P_OBJ#"="O"."OBJ#")
57 - filter(((-"KZSPRPRV")=(-181) OR (-"KZSPRPRV")=(-241)) AND
"INST_ID"=USERENV('INSTANCE'))
58 - filter((-"KZSPRPRV")=(-109) AND "INST_ID"=USERENV('INSTANCE'))
59 - filter(((-"KZSPRPRV")=(-189) OR (-"KZSPRPRV")=(-190) OR
(-"KZSPRPRV")=(-191) OR
(-"KZSPRPRV")=(-192)) AND "INST_ID"=USERENV('INSTANCE'))
60 - filter(((-"KZSPRPRV")=(-200) OR (-"KZSPRPRV")=(-201) OR
(-"KZSPRPRV")=(-202) OR
(-"KZSPRPRV")=(-203) OR (-"KZSPRPRV")=(-204)) AND
"INST_ID"=USERENV('INSTANCE'))
61 - filter(((-"KZSPRPRV")=(-251) OR (-"KZSPRPRV")=(-252) OR
(-"KZSPRPRV")=(-253) OR
(-"KZSPRPRV")=(-254)) AND "INST_ID"=USERENV('INSTANCE'))
62 - filter(((-"KZSPRPRV")=(-268) OR (-"KZSPRPRV")=(-267)) AND
"INST_ID"=USERENV('INSTANCE'))
65 - filter(((-"KZSPRPRV")=(-177) OR (-"KZSPRPRV")=(-178)) AND
"INST_ID"=USERENV('INSTANCE'))
66 - filter(((-"KZSPRPRV")=(-205) OR (-"KZSPRPRV")=(-206) OR
(-"KZSPRPRV")=(-207) OR
(-"KZSPRPRV")=(-208)) AND "INST_ID"=USERENV('INSTANCE'))
67 - filter(((-"KZSPRPRV")=(-222) OR (-"KZSPRPRV")=(-223)) AND
"INST_ID"=USERENV('INSTANCE'))
68 - filter(((-"KZSPRPRV")=(-258) OR (-"KZSPRPRV")=(-259) OR
(-"KZSPRPRV")=(-260) OR
(-"KZSPRPRV")=(-261)) AND "INST_ID"=USERENV('INSTANCE'))
69 - filter(((-"KZSPRPRV")=(-246) OR (-"KZSPRPRV")=(-247) OR
(-"KZSPRPRV")=(-248) OR
(-"KZSPRPRV")=(-249)) AND "INST_ID"=USERENV('INSTANCE'))
70 - filter((-"KZSPRPRV")=(-265) AND "INST_ID"=USERENV('INSTANCE'))
71 - filter(((-"KZSPRPRV")=(-45) OR (-"KZSPRPRV")=(-47) OR
(-"KZSPRPRV")=(-48) OR
(-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50)) AND
"INST_ID"=USERENV('INSTANCE'))
72 - filter((-"KZSPRPRV")=12 AND "INST_ID"=USERENV('INSTANCE'))
73 - filter(((-"KZSPRPRV")=(-265) OR (-"KZSPRPRV")=(-266)) AND
"INST_ID"=USERENV('INSTANCE'))
74 - filter(((-"KZSPRPRV")=(-277) OR (-"KZSPRPRV")=(-278)) AND
"INST_ID"=USERENV('INSTANCE'))
75 - filter(((-"KZSPRPRV")=(-292) OR (-"KZSPRPRV")=(-293) OR
(-"KZSPRPRV")=(-294))
AND "INST_ID"=USERENV('INSTANCE'))
76 - filter(((-"KZSPRPRV")=(-282) OR (-"KZSPRPRV")=(-283) OR
(-"KZSPRPRV")=(-284) OR
(-"KZSPRPRV")=(-285)) AND "INST_ID"=USERENV('INSTANCE'))
78 - access("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT
('userenv','current_
edition_id')))
filter("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT
('userenv','current_
edition_id')))
79 - access("O2"."DATAOBJ#"=:B1 AND "O2"."TYPE#"=88 AND
"O2"."OWNER#"="U2"."USER#")
Statistics
----------------------------------------------------------
110769 recursive calls
3 db block gets
288857 consistent gets
1432 physical reads <---- Put more data blocks into
cache
732 redo size
3512883 bytes sent via SQL*Net to client
50609 bytes received via SQL*Net from client
4565 SQL*Net roundtrips to/from client
1842 sorts (memory)
0 sorts (disk)
68454 rows processed
SQL>
SQL> --
SQL> -- Query table again, should still be reading cache
SQL> --
SQL> -- We find it does, as only consistent gets
SQL> -- are reported
SQL> --
SQL> select *
2 from emp_c;
EMPNO ENAME JOB MGR HIREDATE SAL
COMM DEPTNO
---------- ---------- --------- ---------- --------- ----------
---------- ----------
7369 SMITH CLERK 7902 17-DEC-80
800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600
300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250
500 30
7566 JONES MANAGER 7839 02-APR-81
2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250
1400 30
7698 BLAKE MANAGER 7839 01-MAY-81
2850 30
7782 CLARK MANAGER 7839 09-JUN-81
2450 10
7788 SCOTT ANALYST 7566 09-DEC-82
3000 20
7839 KING PRESIDENT 17-NOV-81
5000 10
7844 TURNER SALESMAN 7698 08-SEP-81
1500 0 30
7876 ADAMS CLERK 7788 12-JAN-83
1100 20
7900 JAMES CLERK 7698 03-DEC-81
950 30
7902 FORD ANALYST 7566 03-DEC-81
3000 20
7934 MILLER CLERK 7782 23-JAN-82
1300 10
14 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 3230908102
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 1218 | 3 (0)|
00:00:01 |
| 1 | TABLE ACCESS FULL| EMP_C | 14 | 1218 | 3 (0)|
00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
4 consistent gets <----- Still only cache reads, no
physical reads, cache option works
0 physical reads
0 redo size
1422 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processed
SQL>
This is not necessarily a good option for large, heavily updated
tables as the data blocks will be changing rapidly and the cache may
not be able to keep up with the pace of the inserts/updates/deletes.
David Fitzjarrell
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to Oracle-PLSQL@googlegroups.com
To unsubscribe from this group, send email to
oracle-plsql-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en
-~----------~----~----~----~------~----~------~--~---