Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> SQL optimization
Hi,
The request is long with CBO and very quick with RBO ( the stats are
uptodate )
Do you know why I have a full table scan whith CBO ?
Thanks in advance
Oracle 8.1.7.4
1 SELECT sales_orders_fact.sales_order_number sales_order_number, 2 sales_orders_fact.sales_line_item_id sales_line_item_id, 3 sched_lines_fact.schedule_line_id schedule_line_id, 4 MAX (e_mrp_result.j_2cstat) e_mrpstatus, 5 SUM (e_mrp_result.menge) e_mrpalloc 6 FROM e_mrp_result, sched_lines_fact, sales_orders_fact 7 WHERE sales_orders_fact.sales_order_number =8
11 AND e_mrp_result.aufnr = sched_lines_fact.sales_order_number 12 AND e_mrp_result.hppos = sched_lines_fact.sales_line_item_id 13 AND e_mrp_result.j_2cepos = sched_lines_fact.schedule_line_id 14 AND e_mrp_result.werks = sales_orders_fact.plant_id 15 AND e_mrp_result.bdart = 'KD' 16 AND e_mrp_result.j_2cbskz = 'C' 17 AND sales_orders_fact.e_load_mode = 'B' 18 GROUP BY sales_orders_fact.sales_order_number, 19 sales_orders_fact.sales_line_item_id, 20* sched_lines_fact.schedule_line_id
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=710 Card=1 Bytes=78) 1 0 SORT (GROUP BY) (Cost=710 Card=1 Bytes=78)
2 1 HASH JOIN (Cost=708 Card=1 Bytes=78) 3 2 NESTED LOOPS (Cost=623 Card=1985 Bytes=83370) 4 3 INDEX (FAST FULL SCAN) OF 'SCHED_LINES_FACT_PK' (UNI QUE) (Cost=4 Card=2512564 Bytes=50251280) 5 3 TABLE ACCESS (BY INDEX ROWID) OF 'SALES_ORDERS_FACT'
(Cost=623 Card=1282061 Bytes=28205342)
6 5 BITMAP CONVERSION (TO ROWIDS) 7 6 BITMAP AND 8 7 BITMAP CONVERSION (FROM ROWIDS) 9 8 INDEX (RANGE SCAN) OF 'SALES_ORDERS_FACT_PK'
(UNIQUE) (Cost=10)
10 7 BITMAP INDEX (SINGLE VALUE) OF 'SALES_ORDERS_F ACT_IDX03' 11 2 TABLE ACCESS (FULL) OF 'E_MRP_RESULT' (Cost=53 Card=23 50 Bytes=84600)
Execution Plan
0 SELECT STATEMENT Optimizer=HINT: RULE 1 0 SORT (GROUP BY)
2 1 NESTED LOOPS 3 2 NESTED LOOPS 4 3 TABLE ACCESS (BY INDEX ROWID) OF 'E_MRP_RESULT' 5 4 INDEX (RANGE SCAN) OF 'E_MRP_RESULT_IDX01' (NON-UN IQUE) 6 3 INDEX (RANGE SCAN) OF 'SCHED_LINES_FACT_PK' (UNIQUE) 7 2 TABLE ACCESS (BY INDEX ROWID) OF 'SALES_ORDERS_FACT' 8 7 INDEX (UNIQUE SCAN) OF 'SALES_ORDERS_FACT_PK' (UNIQU E)Received on Sat Oct 04 2003 - 03:18:35 CDT