| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: How is possible that avg_data_blocks_per_key = 0 even with fresh statistics ?
Thank for the hint, I didn't know about orasrp, I just parse the plan
manually.
The query is doing quite better now (after gathering system
statistics).
Anyway if you are interested this the query followed by is the "bad"
plan (see the step with more than 2million rows read):
select * from v_corsi_miss_budget_corsi t where t.cm_corso_partecipante = 4507145
call count cpu elapsed disk query current rows
Parse 1 0.88 0.90 0 3 0 0 Execute 1 0.01 0.00 0 0 0 0 Fetch 2 46.70 47.74 1 79108 0 1
total 4 47.59 48.65 1 79111 0 1
Misses in library cache during parse: 1
Optimizer mode: CHOOSE
Parsing user id: 31
Rows Row Source Operation
------- ---------------------------------------------------
1 HASH JOIN
1 HASH JOIN
1 HASH JOIN
1 HASH JOIN
1 HASH JOIN
1 HASH JOIN OUTER
1 HASH JOIN OUTER
1 HASH JOIN
1 NESTED LOOPS
1 NESTED LOOPS
1 NESTED LOOPS
1 TABLE ACCESS BY INDEX ROWID OBJ#(13193)
1 INDEX UNIQUE SCAN OBJ#(13194) (object id 13194)
1 TABLE ACCESS BY INDEX ROWID OBJ#(6205)
1 INDEX UNIQUE SCAN OBJ#(9452) (object id 9452)
1 TABLE ACCESS BY INDEX ROWID OBJ#(6874)
1 INDEX RANGE SCAN OBJ#(101747) (object id 101747)
1 TABLE ACCESS BY INDEX ROWID OBJ#(6871)
1 INDEX UNIQUE SCAN OBJ#(10115) (object id 10115)
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
55 VIEW
55 SORT GROUP BY
96 VIEW
96 UNION-ALL
41 TABLE ACCESS FULL OBJ#(6898)
55 TABLE ACCESS FULL OBJ#(6872)
0 VIEW
0 SORT GROUP BY
0 VIEW
0 SORT GROUP BY
0 HASH JOIN
653 TABLE ACCESS FULL OBJ#(6875)
0 VIEW
0 SORT GROUP BY
0 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
0 HASH JOIN
1666 TABLE ACCESS FULL OBJ#(6205)
0 NESTED LOOPS OUTER
0 HASH JOIN OUTER
0 HASH JOIN
1666 HASH JOIN
1666 TABLE ACCESS FULL OBJ#(6205)
1666 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
1666 TABLE ACCESS FULL OBJ#(6205)
0 VIEW
1254 UNION-ALL
711 TABLE ACCESS FULL OBJ#(6903)
351 WINDOW BUFFER
351 SORT GROUP BY
847 HASH JOIN
474 TABLE ACCESS FULL OBJ#(6834)
1100 TABLE ACCESS FULL OBJ#(6877)
192 WINDOW BUFFER
192 SORT GROUP BY
252 HASH JOIN
249 TABLE ACCESS FULL OBJ#(6834)
1100 TABLE ACCESS FULL OBJ#(6877)
0 TABLE ACCESS FULL OBJ#(6907)
0 INDEX UNIQUE SCAN OBJ#(9452) (object id 9452)
867 VIEW
867 SORT GROUP BY
2519 NESTED LOOPS
867 INDEX FULL SCAN OBJ#(10115) (object id 10115)
2519 VIEW
751689 CONNECT BY WITH FILTERING
3468 FILTER
751689 COUNT
751689 HASH JOIN OUTER
751689 TABLE ACCESS FULL OBJ#(6871)
46818 VIEW
46818 SORT GROUP BY
47685 TABLE ACCESS BY INDEX ROWID OBJ#(6872)
47685 INDEX FULL SCAN OBJ#(101746) (object id
101746)
748221 HASH JOIN
751689 CONNECT BY PUMP
2255067 HASH JOIN OUTER
2255067 TABLE ACCESS FULL OBJ#(6871)
140454 VIEW
140454 SORT GROUP BY
143055 TABLE ACCESS BY INDEX ROWID OBJ#(6872)
143055 INDEX FULL SCAN OBJ#(101746) (object id
101746)
867 VIEW
867 SORT GROUP BY
2519 NESTED LOOPS
867 HASH JOIN OUTER
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
95 VIEW
95 SORT GROUP BY
612 HASH JOIN
653 TABLE ACCESS FULL OBJ#(6875)
601 VIEW
601 SORT GROUP BY
1245 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
1245 HASH JOIN
1666 TABLE ACCESS FULL OBJ#(6205)
1245 NESTED LOOPS OUTER
1245 HASH JOIN OUTER
1245 HASH JOIN
1666 HASH JOIN
1666 TABLE ACCESS FULL OBJ#(6205)
1666 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
1666 TABLE ACCESS FULL OBJ#(6205)
1254 VIEW
1254 UNION-ALL
711 TABLE ACCESS FULL OBJ#(6903)
351 WINDOW BUFFER
351 SORT GROUP BY
847 HASH JOIN
474 TABLE ACCESS FULL OBJ#(6834)
1100 TABLE ACCESS FULL OBJ#(6877)
192 WINDOW BUFFER
192 SORT GROUP BY
252 HASH JOIN
249 TABLE ACCESS FULL OBJ#(6834)
1100 TABLE ACCESS FULL OBJ#(6877)
656 TABLE ACCESS FULL OBJ#(6907)
626 INDEX UNIQUE SCAN OBJ#(9452) (object id 9452)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
867 VIEW
867 SORT GROUP BY
2519 NESTED LOOPS
867 HASH JOIN OUTER
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
106 VIEW
106 SORT GROUP BY
505 VIEW
505 SORT GROUP BY
662 HASH JOIN
513 TABLE ACCESS FULL OBJ#(6874)
646 HASH JOIN
646 TABLE ACCESS FULL OBJ#(21682)
513 HASH JOIN
276 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
276 TABLE ACCESS FULL OBJ#(6205)
6984 TABLE ACCESS FULL OBJ#(13193)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
867 VIEW
867 SORT GROUP BY
2519 NESTED LOOPS
867 HASH JOIN OUTER
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
0 VIEW
0 SORT GROUP BY
0 TABLE ACCESS BY INDEX ROWID OBJ#(6873)
1 NESTED LOOPS
0 VIEW
0 SORT GROUP BY
0 TABLE ACCESS BY INDEX ROWID OBJ#(6902)
0 INDEX FULL SCAN OBJ#(10180) (object id 10180)
0 INDEX RANGE SCAN OBJ#(10121) (object id 10121)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
867 VIEW
2519 NESTED LOOPS
867 HASH JOIN OUTER
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
0 VIEW
0 SORT GROUP BY
0 VIEW
0 SORT GROUP BY
0 HASH JOIN
513 TABLE ACCESS FULL OBJ#(6874)
0 HASH JOIN
646 TABLE ACCESS FULL OBJ#(21682)
6471 HASH JOIN
1390 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
1390 TABLE ACCESS FULL OBJ#(6205)
6984 TABLE ACCESS FULL OBJ#(13193)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
After gathering system stats the query becomes: select * from v_corsi_miss_budget_corsi t where t.cm_corso_partecipante = 4507145
call count cpu elapsed disk query current rows
Parse 1 0.71 0.71 0 3 0 0 Execute 1 0.00 0.00 0 0 0 0 Fetch 2 8.86 8.69 0 23313 0 1
total 4 9.57 9.41 0 23316 0 1
Misses in library cache during parse: 1
Optimizer mode: CHOOSE
Parsing user id: 31
Rows Row Source Operation
------- ---------------------------------------------------
1 HASH JOIN
1 HASH JOIN
1 HASH JOIN
1 HASH JOIN
1 HASH JOIN
1 HASH JOIN OUTER
1 HASH JOIN OUTER
1 HASH JOIN
1 NESTED LOOPS
1 NESTED LOOPS
1 NESTED LOOPS
1 TABLE ACCESS BY INDEX ROWID OBJ#(13193)
1 INDEX UNIQUE SCAN OBJ#(13194) (object id 13194)
1 TABLE ACCESS BY INDEX ROWID OBJ#(6205)
1 INDEX UNIQUE SCAN OBJ#(9452) (object id 9452)
1 TABLE ACCESS BY INDEX ROWID OBJ#(6874)
1 INDEX RANGE SCAN OBJ#(101747) (object id 101747)
1 TABLE ACCESS BY INDEX ROWID OBJ#(6871)
1 INDEX UNIQUE SCAN OBJ#(10115) (object id 10115)
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
55 VIEW
55 SORT GROUP BY
96 VIEW
96 UNION-ALL
41 TABLE ACCESS FULL OBJ#(6898)
55 TABLE ACCESS FULL OBJ#(6872)
0 VIEW
0 SORT GROUP BY
0 VIEW
0 SORT GROUP BY
0 HASH JOIN
654 TABLE ACCESS FULL OBJ#(6875)
0 VIEW
0 SORT GROUP BY
0 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
0 HASH JOIN
1678 TABLE ACCESS FULL OBJ#(6205)
0 HASH JOIN OUTER
0 HASH JOIN OUTER
0 HASH JOIN
1678 HASH JOIN
1678 TABLE ACCESS FULL OBJ#(6205)
1678 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
1678 TABLE ACCESS FULL OBJ#(6205)
0 VIEW
1255 UNION-ALL
712 TABLE ACCESS FULL OBJ#(6903)
351 WINDOW BUFFER
351 SORT GROUP BY
847 HASH JOIN
474 TABLE ACCESS FULL OBJ#(6834)
1100 TABLE ACCESS FULL OBJ#(6877)
192 WINDOW BUFFER
192 SORT GROUP BY
252 HASH JOIN
249 TABLE ACCESS FULL OBJ#(6834)
1100 TABLE ACCESS FULL OBJ#(6877)
0 TABLE ACCESS FULL OBJ#(6907)
0 INDEX FAST FULL SCAN OBJ#(9452) (object id
9452)
867 VIEW
867 SORT GROUP BY
2519 NESTED LOOPS
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
54 VIEW
54 SORT GROUP BY
55 TABLE ACCESS BY INDEX ROWID OBJ#(6872)
55 INDEX FULL SCAN OBJ#(101746) (object id
101746)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
162 VIEW
162 SORT GROUP BY
165 TABLE ACCESS BY INDEX ROWID OBJ#(6872)
165 INDEX FULL SCAN OBJ#(101746) (object id
101746)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
867 VIEW
867 SORT GROUP BY
2519 NESTED LOOPS
867 HASH JOIN OUTER
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
95 VIEW
95 SORT GROUP BY
613 HASH JOIN
654 TABLE ACCESS FULL OBJ#(6875)
602 VIEW
602 SORT GROUP BY
1246 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
1246 HASH JOIN
1678 TABLE ACCESS FULL OBJ#(6205)
1246 HASH JOIN OUTER
1246 HASH JOIN OUTER
1246 HASH JOIN
1678 HASH JOIN
1678 TABLE ACCESS FULL OBJ#(6205)
1678 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
1678 TABLE ACCESS FULL OBJ#(6205)
1255 VIEW
1255 UNION-ALL
712 TABLE ACCESS FULL OBJ#(6903)
351 WINDOW BUFFER
351 SORT GROUP BY
847 HASH JOIN
474 TABLE ACCESS FULL OBJ#(6834)
1100 TABLE ACCESS FULL OBJ#(6877)
192 WINDOW BUFFER
192 SORT GROUP BY
252 HASH JOIN
249 TABLE ACCESS FULL OBJ#(6834)
1100 TABLE ACCESS FULL OBJ#(6877)
657 TABLE ACCESS FULL OBJ#(6907)
1678 INDEX FAST FULL SCAN OBJ#(9452) (object id
9452)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
867 VIEW
867 SORT GROUP BY
2519 NESTED LOOPS
867 HASH JOIN OUTER
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
108 VIEW
108 SORT GROUP BY
531 VIEW
531 SORT GROUP BY
693 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
693 HASH JOIN
693 HASH JOIN
693 HASH JOIN
676 TABLE ACCESS FULL OBJ#(21682)
539 TABLE ACCESS FULL OBJ#(6874)
7019 TABLE ACCESS FULL OBJ#(13193)
286 TABLE ACCESS FULL OBJ#(6205)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
867 VIEW
867 SORT GROUP BY
2519 NESTED LOOPS
867 HASH JOIN OUTER
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
0 VIEW
0 SORT GROUP BY
0 TABLE ACCESS BY INDEX ROWID OBJ#(6873)
1 NESTED LOOPS
0 VIEW
0 SORT GROUP BY
0 TABLE ACCESS BY INDEX ROWID OBJ#(6902)
0 INDEX FULL SCAN OBJ#(10180) (object id 10180)
0 INDEX RANGE SCAN OBJ#(10121) (object id 10121)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
867 VIEW
2519 NESTED LOOPS
867 HASH JOIN OUTER
867 VIEW
867 VIEW
867 CONNECT BY WITH FILTERING
4 FILTER
867 COUNT
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 HASH JOIN OUTER
867 TABLE ACCESS FULL OBJ#(6871)
9 TABLE ACCESS FULL OBJ#(6899)
31 TABLE ACCESS FULL OBJ#(6931)
789 TABLE ACCESS FULL OBJ#(6526)
863 HASH JOIN
867 CONNECT BY PUMP
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 HASH JOIN OUTER
2601 TABLE ACCESS FULL OBJ#(6871)
27 TABLE ACCESS FULL OBJ#(6899)
93 TABLE ACCESS FULL OBJ#(6931)
2367 TABLE ACCESS FULL OBJ#(6526)
0 VIEW
0 SORT GROUP BY
0 VIEW
0 SORT GROUP BY
0 HASH JOIN
9 TABLE ACCESS FULL OBJ#(6899)
0 HASH JOIN
693 HASH JOIN
693 HASH JOIN
676 TABLE ACCESS FULL OBJ#(21682)
539 TABLE ACCESS FULL OBJ#(6874)
7019 TABLE ACCESS FULL OBJ#(13193)
1392 TABLE ACCESS FULL OBJ#(6205)
2519 INDEX FAST FULL SCAN OBJ#(10115) (object id 10115)
which is much better.
The problem with gathering system stats is that is difficult to me to
choose the time slice, i.e. to know the typical workload time of the
customer. Anyway for now it is running better
so there is no "emergency" at the moment, thanks.
Before gathering system statistics I tried to look a similar system on
another customer which has the same procedure but no performance
problem.
The plan in the second system uses more indexes. Looking at index
statistics I saw that they were all zero (specially cf=0) pulling cbo
more towards index using (my guess...)
while in the first system they (the index statistics) are all in
place...So I asked because it seemed (still seems) to me very
strange ....
Thanks bye
>
> Let's go back to the beginning here. I missed what you pointed out
> here that the one that is running well has the "0's" in it.
>
> Probably the most complete thing you could do is to post here the
> complete query as well as explain plan's from both the good and bad.
> You noted it is complex looking at the plan but there's a lot of
> people here with experience and well complex is relative.
>
> Personally if I were you I would attempt to get a 10046 trace and put
> both the good and bad thru a resource profiler like orasrp. It does a
> nice job of breaking out all the relevant info.
Received on Fri Dec 07 2007 - 02:55:15 CST
![]() |
![]() |