|
问题今天又重现了
SQL> select num_buckets,density,GLOBAL_STATS,LAST_ANALYZED from DBA_tab_columns where TABLE_NAME='W_ACT_PROD_F' and COLUMN_NAME='PERIOD_DAY_WID';
NUM_BUCKETS DENSITY GLO LAST_ANALYZED
----------- ---------- --- -------------------
1 .000274574 YES 2013-09-04 18:31:25
Buffer Gets | Executions | Gets per Exec | %Total | CPU Time (s) | Elapsed Time (s) | SQL Id | SQL Module | SQL Text | 14,386,364,372 | 2 | 7,193,182,186.00 | 27.24 | 125086.27 | 178513.42 | 0b92v2g8cwp82 | pmdtm.exe | SELECT OBJ.ROW_WID, OBJ.X_OBJE... |
------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Pstart| Pstop | TQ |IN-OUT| PQ Distrib |
------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 205 | 217 (15)| | | | | |
| 1 | PX COORDINATOR | | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10003 | 1 | 205 | 217 (15)| | | Q1,03 | P->S | QC (RAND) |
| 3 | HASH GROUP BY | | 1 | 205 | 217 (15)| | | Q1,03 | PCWP | |
| 4 | PX RECEIVE | | 1 | 205 | 216 (14)| | | Q1,03 | PCWP | |
| 5 | PX SEND HASH | :TQ10002 | 1 | 205 | 216 (14)| | | Q1,02 | P->P | HASH |
| 6 | BUFFER SORT | | 1 | 205 | 217 (15)| | | Q1,02 | PCWP | |
| 7 | NESTED LOOPS | | 1 | 205 | 216 (14)| | | Q1,02 | PCWP | |
| 8 | NESTED LOOPS | | 1 | 189 | 216 (14)| | | Q1,02 | PCWP | |
| 9 | NESTED LOOPS | | 1 | 170 | 216 (15)| | | Q1,02 | PCWP | |
| 10 | NESTED LOOPS | | 22 | 3234 | 216 (15)| | | Q1,02 | PCWP | |
| 11 | NESTED LOOPS | | 22 | 2728 | 216 (15)| | | Q1,02 | PCWP | |
|* 12 | HASH JOIN | | 45 | 4725 | 216 (15)| | | Q1,02 | PCWP | |
| 13 | BUFFER SORT | | | | | | | Q1,02 | PCWC | |
| 14 | PX RECEIVE | | 26852 | 1232K| 49 (15)| | | Q1,02 | PCWP | |
| 15 | PX SEND HASH | :TQ10000 | 26852 | 1232K| 49 (15)| | | | S->P | HASH |
|* 16 | HASH JOIN | | 26852 | 1232K| 49 (15)| | | | | |
|* 17 | INDEX FULL SCAN | W_POSITION_D_M3 | 21903 | 213K| 1 (0)| | | | | |
| 18 | PARTITION RANGE ITERATOR | | 26852 | 970K| 42 (3)| 87 | 97 | | | |
| 19 | TABLE ACCESS BY LOCAL INDEX ROWID| W_ACT_PROD_F | 26852 | 970K| 42 (3)| 87 | 97 | | | |
|* 20 | INDEX RANGE SCAN | W_ACT_PROD_F_F9 | 2718 | | 1 (0)| 87 | 97 | | | |
| 21 | PX RECEIVE | | 57672 | 3266K| 165 (14)| | | Q1,02 | PCWP | |
| 22 | PX SEND HASH | :TQ10001 | 57672 | 3266K| 165 (14)| | | Q1,01 | P->P | HASH |
| 23 | PX PARTITION HASH SINGLE | | 57672 | 3266K| 165 (14)| 2 | 2 | Q1,01 | PCWC | |
|* 24 | TABLE ACCESS BY LOCAL INDEX ROWID | W_OBJECTIVE_F | 57672 | 3266K| 165 (14)| | | Q1,01 | PCWP | |
|* 25 | INDEX RANGE SCAN | W_OBJECTIVE_F_U3 | 1671K| | 11 (28)| | | Q1,01 | PCWP | |
|* 26 | INDEX RANGE SCAN | W_LOV_D_M2 | 1 | 19 | 1 (0)| | | Q1,02 | PCWP | |
|* 27 | TABLE ACCESS BY INDEX ROWID | W_PERSON_D | 1 | 23 | 1 (0)| | | Q1,02 | PCWP | |
|* 28 | INDEX UNIQUE SCAN | W_PERSON_D_P1 | 1 | | 1 (0)| | | Q1,02 | PCWP | |
|* 29 | INDEX RANGE SCAN | WC_PROD_RANK_AUX_M1 | 1 | 23 | 1 (0)| | | Q1,02 | PCWP | |
|* 30 | TABLE ACCESS BY INDEX ROWID | W_LOV_D | 1 | 19 | 1 (0)| | | Q1,02 | PCWP | |
|* 31 | INDEX UNIQUE SCAN | W_LOV_D_PK | 1 | | 1 (0)| | | Q1,02 | PCWP | |
|* 32 | TABLE ACCESS BY INDEX ROWID | W_PRODUCT_D | 1 | 16 | 1 (0)| | | Q1,02 | PCWP | |
|* 33 | INDEX UNIQUE SCAN | W_PRODUCT_D_P1 | 1 | | 1 (0)| | | Q1,02 | PCWP | |
------------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
12 - access("OBJ"."X_SALES_FORCE_NAME"="W_POSITION_D"."DIVN_NAME" AND "OBJ"."PROD_WID"="FACT"."PROD_WID")
filter("OBJ"."OBJ_START_DAY_WID"<="FACT"."PERIOD_DAY_WID" AND "OBJ"."OBJ_END_DAY_WID">="FACT"."PERIOD_DAY_WID")
16 - access("FACT"."OWNER_POSTN_WID"="W_POSITION_D"."ROW_WID")
17 - filter("W_POSITION_D"."DIVN_NAME"<>'NLD')
20 - access("FACT"."PERIOD_DAY_WID">=20130204)
24 - filter("OBJ"."X_OBJECTIVE_NAME"='Calls In Target' AND "OBJ"."OBJ_START_DAY_WID">=20130204 AND "OBJ"."X_SALES_FORCE_NAME"<>'NLD')
25 - access("OBJ"."OBJ_END_DAY_WID">=20130204)
26 - access("LOV_STA"."NAME"='Submitted' AND "FACT"."X_ACT_STA_WID"="LOV_STA"."ROW_WID")
27 - filter("W_PERSON_D"."CON_ACTIVE_FLG"='Y')
28 - access("FACT"."CONTACT_WID"="W_PERSON_D"."ROW_WID")
29 - access("OBJ"."X_SALES_CYCLE_WID"="WC_PROD_RANK_AUX"."X_SALES_CYCLE_WID" AND "W_PERSON_D"."INTEGRATION_ID"="WC_PROD_RANK_AUX"."CON_ID")
30 - filter("LOV_TYP"."NAME" LIKE '%Call%')
31 - access("FACT"."ACT_TYPE_WID"="LOV_TYP"."ROW_WID")
32 - filter("W_PRODUCT_D"."INTEGRATION_ID"="WC_PROD_RANK_AUX"."PROD_ID")
33 - access("FACT"."PROD_WID"="W_PRODUCT_D"."ROW_WID")
SQL> exec dbms_stats.RESTORE_TABLE_STATS('SIEBEL','W_ACT_PROD_F',to_timestamp(to_date('30-AUG-13 11.03.34','dd-mm-yy hh24:mi:ss')));
PL/SQL procedure successfully completed.
SQL> select num_buckets,density,GLOBAL_STATS,LAST_ANALYZED from DBA_tab_columns where TABLE_NAME='W_ACT_PROD_F' and COLUMN_NAME='PERIOD_DAY_WID';
NUM_BUCKETS DENSITY GLO LAST_ANALYZED
----------- ---------- --- -------------------
254 .000915751 YES 2013-08-30 10:58:26
---------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Pstart| Pstop | TQ |IN-OUT| PQ Distrib |
---------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 205 | 9679 (11)| | | | | |
| 1 | PX COORDINATOR | | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10003 | 1 | 205 | 9679 (11)| | | Q1,03 | P->S | QC (RAND) |
| 3 | HASH GROUP BY | | 1 | 205 | 9679 (11)| | | Q1,03 | PCWP | |
| 4 | PX RECEIVE | | 1 | 205 | 9677 (11)| | | Q1,03 | PCWP | |
| 5 | PX SEND HASH | :TQ10002 | 1 | 205 | 9677 (11)| | | Q1,02 | P->P | HASH |
| 6 | NESTED LOOPS | | 1 | 205 | 9677 (11)| | | Q1,02 | PCWP | |
| 7 | NESTED LOOPS | | 1 | 186 | 9677 (11)| | | Q1,02 | PCWP | |
| 8 | NESTED LOOPS | | 32 | 5440 | 9677 (11)| | | Q1,02 | PCWP | |
| 9 | NESTED LOOPS | | 6049 | 868K| 9665 (11)| | | Q1,02 | PCWP | |
|* 10 | HASH JOIN | | 6049 | 732K| 9659 (11)| | | Q1,02 | PCWP | |
| 11 | PX RECEIVE | | 57672 | 3266K| 165 (14)| | | Q1,02 | PCWP | |
| 12 | PX SEND HASH | :TQ10001 | 57672 | 3266K| 165 (14)| | | Q1,01 | P->P | HASH |
| 13 | PX PARTITION HASH SINGLE | | 57672 | 3266K| 165 (14)| 2 | 2 | Q1,01 | PCWC | |
|* 14 | TABLE ACCESS BY LOCAL INDEX ROWID | W_OBJECTIVE_F | 57672 | 3266K| 165 (14)| | | Q1,01 | PCWP | |
|* 15 | INDEX RANGE SCAN | W_OBJECTIVE_F_U3 | 1671K| | 11 (28)| | | Q1,01 | PCWP | |
| 16 | BUFFER SORT | | | | | | | Q1,02 | PCWC | |
| 17 | PX RECEIVE | | 3564K| 224M| 9462 (10)| | | Q1,02 | PCWP | |
| 18 | PX SEND HASH | :TQ10000 | 3564K| 224M| 9462 (10)| | | | S->P | HASH |
|* 19 | HASH JOIN | | 3564K| 224M| 9462 (10)| | | | | |
|* 20 | INDEX FULL SCAN | W_POSITION_D_M3 | 21903 | 213K| 1 (0)| | | | | |
|* 21 | TABLE ACCESS BY LOCAL INDEX ROWID| W_ACT_PROD_F | 677K| 23M| 1824 (7)| 1 | 1 | | | |
| 22 | NESTED LOOPS | | 3564K| 190M| 9121 (7)| | | | | |
|* 23 | INDEX RANGE SCAN | W_LOV_D_M2 | 5 | 95 | 1 (0)| | | | | |
| 24 | PARTITION RANGE ITERATOR | | 6876K| | 58 (23)| 87 | 97 | | | |
|* 25 | INDEX RANGE SCAN | W_ACT_PROD_F_XF13 | 6876K| | 58 (23)| 87 | 97 | | | |
|* 26 | TABLE ACCESS BY INDEX ROWID | W_PERSON_D | 1 | 23 | 1 (0)| | | Q1,02 | PCWP | |
|* 27 | INDEX UNIQUE SCAN | W_PERSON_D_P1 | 1 | | 1 (0)| | | Q1,02 | PCWP | |
|* 28 | INDEX RANGE SCAN | WC_PROD_RANK_AUX_M1 | 1 | 23 | 1 (0)| | | Q1,02 | PCWP | |
|* 29 | TABLE ACCESS BY INDEX ROWID | W_PRODUCT_D | 1 | 16 | 1 (0)| | | Q1,02 | PCWP | |
|* 30 | INDEX UNIQUE SCAN | W_PRODUCT_D_P1 | 1 | | 1 (0)| | | Q1,02 | PCWP | |
|* 31 | TABLE ACCESS BY INDEX ROWID | W_LOV_D | 1 | 19 | 1 (0)| | | Q1,02 | PCWP | |
|* 32 | INDEX UNIQUE SCAN | W_LOV_D_PK | 1 | | 1 (0)| | | Q1,02 | PCWP | |
---------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
10 - access("OBJ"."X_SALES_FORCE_NAME"="W_POSITION_D"."DIVN_NAME" AND "OBJ"."PROD_WID"="FACT"."PROD_WID")
filter("OBJ"."OBJ_START_DAY_WID"<="FACT"."PERIOD_DAY_WID" AND "OBJ"."OBJ_END_DAY_WID">="FACT"."PERIOD_DAY_WID")
14 - filter("OBJ"."X_OBJECTIVE_NAME"='Calls In Target' AND "OBJ"."OBJ_START_DAY_WID">=20130204 AND "OBJ"."X_SALES_FORCE_NAME"<>'NLD')
15 - access("OBJ"."OBJ_END_DAY_WID">=20130204)
19 - access("FACT"."OWNER_POSTN_WID"="W_POSITION_D"."ROW_WID")
20 - filter("W_POSITION_D"."DIVN_NAME"<>'NLD')
21 - filter("FACT"."PERIOD_DAY_WID">=20130204)
23 - access("LOV_STA"."NAME"='Submitted')
25 - access("FACT"."X_ACT_STA_WID"="LOV_STA"."ROW_WID")
26 - filter("W_PERSON_D"."CON_ACTIVE_FLG"='Y')
27 - access("FACT"."CONTACT_WID"="W_PERSON_D"."ROW_WID")
28 - access("OBJ"."X_SALES_CYCLE_WID"="WC_PROD_RANK_AUX"."X_SALES_CYCLE_WID" AND "W_PERSON_D"."INTEGRATION_ID"="WC_PROD_RANK_AUX"."CON_ID")
29 - filter("W_PRODUCT_D"."INTEGRATION_ID"="WC_PROD_RANK_AUX"."PROD_ID")
30 - access("FACT"."PROD_WID"="W_PRODUCT_D"."ROW_WID")
31 - filter("LOV_TYP"."NAME" LIKE '%Call%')
32 - access("FACT"."ACT_TYPE_WID"="LOV_TYP"."ROW_WID")
Statistics
----------------------------------------------------------
298 recursive calls
2 db block gets
20847726 consistent gets
363448 physical reads
0 redo size
43274 bytes sent via SQL*Net to client
1592 bytes received via SQL*Net from client
102 SQL*Net roundtrips to/from client
11 sorts (memory)
1 sorts (disk)
1501 rows processed
这是10g,还没有dbms_stats.set_table_prefs,该表统计信息每周收集2次,而列的直方图很有可能会被覆盖;
看来目前唯一的方法是让开发修改存储过程,让其收集该表时添加选项method_opt=> 'for columns size 254 PERIOD_DAY_WID'
|
|