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
![]() |
![]() |