Using First_rows hints change the sql plan
Dear All,
I have a query with a first_rows hint and this causing it to used sub-optimal plan by choosing the wrong indexes.
Besides, its applied a conversion function to the where clause condition compared if the case if it is using the right plan.
Appreciate if you can throw some light on using the first_rows hint
Thanks
Rgds
Ung
Hi, attached is the two plans as well the 10053 for the two plans. As you can see, with the first_rows hint, the consistent gets is 9049 while without the hints is only 5 blocks.
Execution Plan
0
SELECT STATEMENT Optimizer=HINT: FIRST_ROWS (Cost=4521 Card=3 Bytes=357)
1 0
TABLE ACCESS (BY INDEX ROWID) OF 'MHDISL' (Cost=4521 Card=3 Bytes=357)
2 1
INDEX (RANGE SCAN) OF 'MHDISL10' (NON-UNIQUE) (Cost=4520 Card=3)
Statistics
0 recursive calls
0 db block gets
9049 consistent gets
0 physical reads
0 redo size
2501 bytes sent via SQL*Net to client
656 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
Execution Plan
0
SELECT STATEMENT Optimizer=CHOOSE (Cost=4 Card=3 Bytes=357)
1 0
TABLE ACCESS (BY INDEX ROWID) OF 'MHDISL' (Cost=4 Card=3 Bytes=357)
2 1
INDEX (RANGE SCAN) OF 'MHDISL00' (UNIQUE) (Cost=3 Card=3)
Statistics
0 recursive calls
0 db block gets
5 consistent gets
0 physical reads
0 redo size
2501 bytes sent via SQL*Net to client
656 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
-------10053
/u01/app/oracle/admin/FMSB/udump/fmsb_ora_5484.trc
Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
ORACLE_HOME = /u01/app/oracle/product/9.2.0
System name: SunOS
Node name: ffmdb
Release: 5.8
Version: Generic_108528-22
Machine: sun4u
Instance name: FMSB
Redo thread mounted by this instance: 1
Oracle process number: 141
Unix process pid: 5484, image: oracle@ffmdb (TNS V1-V3)
*** 2009-01-20 15:21:54.490
*** SESSION ID:(201.51419) 2009-01-20 15:21:54.327
QUERY
seLECT /*+ first_Rows */* FROM MVXJDTA.MHDISL WHERE URCONO= 100
AND URDLIX=1000000001
ORDER BY URCONO,URDLIX,URRORC,URRIDN,URRIDL
*** SESSION ID:(201.51419) 2009-01-20 15:22:02.887
QUERY
DELETE FROM PLAN_TABLE WHERE STATEMENT_ID=:1
PARAMETERS USED BY THE OPTIMIZER
OPTIMIZER_FEATURES_ENABLE = 9.2.0
OPTIMIZER_MODE/GOAL = Choose
OPTIMIZERPERCENT_PARALLEL = 101
HASH_AREA_SIZE = 6144000
HASH_JOIN_ENABLED = TRUE
HASH_MULTIBLOCK_IO_COUNT = 0
SORT_AREA_SIZE = 3072000
OPTIMIZER_SEARCH_LIMIT = 5
PARTITION_VIEW_ENABLED = FALSE
ALWAYSSTAR_TRANSFORMATION = FALSE
BTREE_BITMAP_PLANS = TRUE
STAR_TRANSFORMATION_ENABLED = FALSE
COMPLEXVIEW_MERGING = TRUE
PUSHJOIN_PREDICATE = TRUE
PARALLEL_BROADCAST_ENABLED = TRUE
OPTIMIZER_MAX_PERMUTATIONS = 2000
OPTIMIZER_INDEX_CACHING = 0
SYSTEMINDEX_CACHING = 0
OPTIMIZER_INDEX_COST_ADJ = 100
OPTIMIZER_DYNAMIC_SAMPLING = 1
OPTIMIZERDYN_SMP_BLKS = 32
QUERY_REWRITE_ENABLED = FALSE
QUERY_REWRITE_INTEGRITY = ENFORCED
INDEXJOIN_ENABLED = TRUE
SORTELIMINATION_COST_RATIO = 0
OREXPAND_NVL_PREDICATE = TRUE
NEWINITIAL_JOIN_ORDERS = TRUE
ALWAYS_ANTI_JOIN = CHOOSE
ALWAYS_SEMI_JOIN = CHOOSE
OPTIMIZERMODE_FORCE = TRUE
OPTIMIZERUNDO_CHANGES = FALSE
UNNESTSUBQUERY = TRUE
PUSHJOIN_UNION_VIEW = TRUE
FASTFULL_SCAN_ENABLED = TRUE
OPTIMENHANCE_NNULL_DETECTION = TRUE
ORDEREDNESTED_LOOP = TRUE
NESTEDLOOP_FUDGE = 100
NOOR_EXPANSION = FALSE
QUERYCOST_REWRITE = TRUE
QUERY_REWRITE_EXPRESSION = TRUE
IMPROVEDROW_LENGTH_ENABLED = TRUE
USENOSEGMENT_INDEXES = FALSE
ENABLETYPE_DEP_SELECTIVITY = TRUE
IMPROVEDOUTERJOIN_CARD = TRUE
OPTIMIZERADJUST_FOR_NULLS = TRUE
OPTIMIZERCHOOSE_PERMUTATION = 0
USECOLUMN_STATS_FOR_FUNCTION = TRUE
SUBQUERYPRUNING_ENABLED = TRUE
SUBQUERYPRUNING_REDUCTION_FACTOR = 50
SUBQUERYPRUNING_COST_FACTOR = 20
LIKEWITH_BIND_AS_EQUALITY = FALSE
TABLESCAN_COST_PLUS_ONE = TRUE
SORTMERGEINEQUALITY_JOIN_OFF = FALSE
DEFAULTNON_EQUALITY_SEL_CHECK = TRUE
ONESIDECOLSTAT_FOR_EQUIJOINS = TRUE
OPTIMIZERCOST_MODEL = CHOOSE
GSETSALWAYS_USE_TEMPTABLES = FALSE
DB_FILE_MULTIBLOCK_READ_COUNT = 32
NEWSORT_COST_ESTIMATE = TRUE
GSANTI_SEMI_JOIN_ALLOWED = TRUE
CPUTO_IO = 0
PREDMOVE_AROUND = TRUE
BASE STATISTICAL INFORMATION
Table stats Table: MHDISL Alias: MHDISL
TOTAL :: CDN: 1592807 NBLKS: 27904 AVG_ROW_LEN: 119
-- Index stats
INDEX NAME: MHDISL00 COL#: 1 2 3 4 5
TOTAL :: LVLS: 2 #LB: 8769 #DK: 1599266 LB/K: 1 DB/K: 1 CLUF: 356837
INDEX NAME: MHDISL10 COL#: 1 3 4 5 2
TOTAL :: LVLS: 2 #LB: 9036 #DK: 1608279 LB/K: 1 DB/K: 1 CLUF: 424881
INDEX NAME: MHDISL30 COL#: 1 2 3 4 16 5
TOTAL :: LVLS: 2 #LB: 9493 #DK: 1599279 LB/K: 1 DB/K: 1 CLUF: 356844
INDEX NAME: MHDISL40 COL#: 1 2 9 10 11 3 4 5
TOTAL :: LVLS: 2 #LB: 11082 #DK: 1599282 LB/K: 1 DB/K: 1 CLUF: 388975
OPTIMIZERPERCENT_PARALLEL = 0
SINGLE TABLE ACCESS PATH
Column: URCONO Col#: 1 Table: MHDISL Alias: MHDISL
NDV: 2 NULLS: 0 DENS: 5.0000e-01 LO: 100 HI: 999
NO HISTOGRAM: #BKT: 1 #VAL: 2
Column: URDLIX Col#: 2 Table: MHDISL Alias: MHDISL
NDV: 295495 NULLS: 0 DENS: 3.3842e-06 LO: 1000000001 HI: 930000
1938
NO HISTOGRAM: #BKT: 1 #VAL: 2
TABLE: MHDISL ORIG CDN: 1592807 ROUNDED CDN: 3 CMPTD CDN: 3
Access path: tsc Resc: 1702 Resp: 1702
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 1
Access path: index (scan)
Index: MHDISL00
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4
IX_SEL: 1.6921e-06 TB_SEL: 1.6921e-06
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 4518
Access path: index (scan)
Index: MHDISL10
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4521
IX_SEL: 5.0000e-01 TB_SEL: 1.6921e-06
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 1
Access path: index (scan)
Index: MHDISL30
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4
IX_SEL: 1.6921e-06 TB_SEL: 1.6921e-06
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 1
Access path: index (scan)
Index: MHDISL40
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4
IX_SEL: 1.6921e-06 TB_SEL: 1.6921e-06
BEST_CST: 4.00 PATH: 4 Degree: 1
OPTIMIZER STATISTICS AND COMPUTATIONS
GENERAL PLANS
Join order[1]: MHDISL[MHDISL]#0
Best so far: TABLE#: 0 CST: 4 CDN: 3 BYTES: 357
****** Recost for ORDER BY (using index) ************
SINGLE TABLE ACCESS PATH
TABLE: MHDISL ORIG CDN: 1592807 ROUNDED CDN: 3 CMPTD CDN: 3
Access path: tsc Resc: 1702 Resp: 1702
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 4518
Access path: index (scan)
Index: MHDISL10
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4521
IX_SEL: 5.0000e-01 TB_SEL: 1.6921e-06
BEST_CST: 4521.00 PATH: 4 Degree: 1
Join order[1]: MHDISL[MHDISL]#0
Best so far: TABLE#: 0 CST: 4521 CDN: 3 BYTES: 357
SORT resource Sort statistics
Sort width: 7 Area size: 131072 Max Area size: 5242880
Degree: 1
Blocks to Sort: 1 Row size: 141 Rows: 3
Initial runs: 1 Merge passes: 1 IO Cost / pass: 2
Total IO sort cost: 2
Total CPU sort cost: 0
Total Temp space used: 0
Final - First Rows Plan:
JOIN ORDER: 1
CST: 4521 CDN: 3 RSC: 4521 RSP: 4521 BYTES: 357
IO-RSC: 4521 IO-RSP: 4521 CPU-RSC: 0 CPU-RSP: 0
First Rows Plan
QUERY
EXPLAIN PLAN SET STATEMENT_ID='PLUS114150' FOR seLECT /*+ first_Rows */* FROM MV
XJDTA.MHDISL WHERE URCONO= 100
AND URDLIX=1000000001
ORDER BY URCONO,URDLIX,URRORC,URRIDN,URRIDL
PLAN
Cost of plan: 4521
Operation...........Object name.....Options.........Id...Pid..
SELECT STATEMENT 0
TABLE ACCESS MHDISL BY INDEX ROWID 1
INDEX MHDISL10 RANGE SCAN 2 1
QUERY
SELECT ID ID_PLUS_EXP,PARENT_ID PARENT_ID_PLUS_EXP,LPAD(' ',2*(LEVEL-1))||OPERAT
ION||DECODE(OTHER_TAG,NULL,'','*')||DECODE(OPTIONS,NULL,'',' ('||OPTIONS||')')||
DECODE(OBJECT_NAME,NULL,'',' OF '''||OBJECT_NAME||'''')||DECODE(OBJECT_TYPE,NULL
,'',' ('||OBJECT_TYPE||')')||DECODE(ID,0,DECODE(OPTIMIZER,NULL,'',' Optimizer='|
|OPTIMIZER))||DECODE(COST,NULL,'',' (Cost='||COST||DECODE(CARDINALITY,NULL,'','
Card='||CARDINALITY)||DECODE(BYTES,NULL,'',' Bytes='||BYTES)||')') PLAN_PLUS_EXP
,OBJECT_NODE OBJECT_NODE_PLUS_EXP FROM PLAN_TABLE START WITH ID=0 AND STATEMENT_
ID=:1 CONNECT BY PRIOR ID=PARENT_ID AND STATEMENT_ID=:1 ORDER BY ID,POSITION
QUERY
SELECT ID ID_PLUS_EXP,OTHER_TAG OTHER_TAG_PLUS_EXP,OTHER OTHER_PLUS_EXP FROM PLA
N_TABLE WHERE STATEMENT_ID=:1 AND OTHER_TAG IS NOT NULL ORDER BY ID
QUERY
DELETE FROM PLAN_TABLE WHERE STATEMENT_ID=:1
*** 2009-01-20 15:29:36.507
*** SESSION ID:(201.51419) 2009-01-20 15:29:36.507
QUERY
SELECT * FROM MVXJDTA.MHDISL WHERE URCONO= 100
AND URDLIX=1000000001
ORDER BY URCONO,URDLIX,URRORC,URRIDN,URRIDL
*** SESSION ID:(201.51419) 2009-01-20 15:29:38.307
QUERY
DELETE FROM PLAN_TABLE WHERE STATEMENT_ID=:1
PARAMETERS USED BY THE OPTIMIZER
OPTIMIZER_FEATURES_ENABLE = 9.2.0
OPTIMIZER_MODE/GOAL = Choose
OPTIMIZERPERCENT_PARALLEL = 101
HASH_AREA_SIZE = 6144000
HASH_JOIN_ENABLED = TRUE
HASH_MULTIBLOCK_IO_COUNT = 0
SORT_AREA_SIZE = 3072000
OPTIMIZER_SEARCH_LIMIT = 5
PARTITION_VIEW_ENABLED = FALSE
ALWAYSSTAR_TRANSFORMATION = FALSE
BTREE_BITMAP_PLANS = TRUE
STAR_TRANSFORMATION_ENABLED = FALSE
COMPLEXVIEW_MERGING = TRUE
PUSHJOIN_PREDICATE = TRUE
PARALLEL_BROADCAST_ENABLED = TRUE
OPTIMIZER_MAX_PERMUTATIONS = 2000
OPTIMIZER_INDEX_CACHING = 0
SYSTEMINDEX_CACHING = 0
OPTIMIZER_INDEX_COST_ADJ = 100
OPTIMIZER_DYNAMIC_SAMPLING = 1
OPTIMIZERDYN_SMP_BLKS = 32
QUERY_REWRITE_ENABLED = FALSE
QUERY_REWRITE_INTEGRITY = ENFORCED
INDEXJOIN_ENABLED = TRUE
SORTELIMINATION_COST_RATIO = 0
OREXPAND_NVL_PREDICATE = TRUE
NEWINITIAL_JOIN_ORDERS = TRUE
ALWAYS_ANTI_JOIN = CHOOSE
ALWAYS_SEMI_JOIN = CHOOSE
OPTIMIZERMODE_FORCE = TRUE
OPTIMIZERUNDO_CHANGES = FALSE
UNNESTSUBQUERY = TRUE
PUSHJOIN_UNION_VIEW = TRUE
FASTFULL_SCAN_ENABLED = TRUE
OPTIMENHANCE_NNULL_DETECTION = TRUE
ORDEREDNESTED_LOOP = TRUE
NESTEDLOOP_FUDGE = 100
NOOR_EXPANSION = FALSE
QUERYCOST_REWRITE = TRUE
QUERY_REWRITE_EXPRESSION = TRUE
IMPROVEDROW_LENGTH_ENABLED = TRUE
USENOSEGMENT_INDEXES = FALSE
ENABLETYPE_DEP_SELECTIVITY = TRUE
IMPROVEDOUTERJOIN_CARD = TRUE
OPTIMIZERADJUST_FOR_NULLS = TRUE
OPTIMIZERCHOOSE_PERMUTATION = 0
USECOLUMN_STATS_FOR_FUNCTION = TRUE
SUBQUERYPRUNING_ENABLED = TRUE
SUBQUERYPRUNING_REDUCTION_FACTOR = 50
SUBQUERYPRUNING_COST_FACTOR = 20
LIKEWITH_BIND_AS_EQUALITY = FALSE
TABLESCAN_COST_PLUS_ONE = TRUE
SORTMERGEINEQUALITY_JOIN_OFF = FALSE
DEFAULTNON_EQUALITY_SEL_CHECK = TRUE
ONESIDECOLSTAT_FOR_EQUIJOINS = TRUE
OPTIMIZERCOST_MODEL = CHOOSE
GSETSALWAYS_USE_TEMPTABLES = FALSE
DB_FILE_MULTIBLOCK_READ_COUNT = 32
NEWSORT_COST_ESTIMATE = TRUE
GSANTI_SEMI_JOIN_ALLOWED = TRUE
CPUTO_IO = 0
PREDMOVE_AROUND = TRUE
BASE STATISTICAL INFORMATION
Table stats Table: MHDISL Alias: MHDISL
TOTAL :: CDN: 1592807 NBLKS: 27904 AVG_ROW_LEN: 119
-- Index stats
INDEX NAME: MHDISL00 COL#: 1 2 3 4 5
TOTAL :: LVLS: 2 #LB: 8769 #DK: 1599266 LB/K: 1 DB/K: 1 CLUF: 356837
INDEX NAME: MHDISL10 COL#: 1 3 4 5 2
TOTAL :: LVLS: 2 #LB: 9036 #DK: 1608279 LB/K: 1 DB/K: 1 CLUF: 424881
INDEX NAME: MHDISL30 COL#: 1 2 3 4 16 5
TOTAL :: LVLS: 2 #LB: 9493 #DK: 1599279 LB/K: 1 DB/K: 1 CLUF: 356844
INDEX NAME: MHDISL40 COL#: 1 2 9 10 11 3 4 5
TOTAL :: LVLS: 2 #LB: 11082 #DK: 1599282 LB/K: 1 DB/K: 1 CLUF: 388975
OPTIMIZERPERCENT_PARALLEL = 0
SINGLE TABLE ACCESS PATH
Column: URCONO Col#: 1 Table: MHDISL Alias: MHDISL
NDV: 2 NULLS: 0 DENS: 5.0000e-01 LO: 100 HI: 999
NO HISTOGRAM: #BKT: 1 #VAL: 2
Column: URDLIX Col#: 2 Table: MHDISL Alias: MHDISL
NDV: 295495 NULLS: 0 DENS: 3.3842e-06 LO: 1000000001 HI: 930000
1938
NO HISTOGRAM: #BKT: 1 #VAL: 2
TABLE: MHDISL ORIG CDN: 1592807 ROUNDED CDN: 3 CMPTD CDN: 3
Access path: tsc Resc: 1702 Resp: 1702
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 1
Access path: index (scan)
Index: MHDISL00
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4
IX_SEL: 1.6921e-06 TB_SEL: 1.6921e-06
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 4518
Access path: index (scan)
Index: MHDISL10
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4521
IX_SEL: 5.0000e-01 TB_SEL: 1.6921e-06
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 1
Access path: index (scan)
Index: MHDISL30
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4
IX_SEL: 1.6921e-06 TB_SEL: 1.6921e-06
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 1
Access path: index (scan)
Index: MHDISL40
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4
IX_SEL: 1.6921e-06 TB_SEL: 1.6921e-06
BEST_CST: 4.00 PATH: 4 Degree: 1
OPTIMIZER STATISTICS AND COMPUTATIONS
GENERAL PLANS
Join order[1]: MHDISL[MHDISL]#0
Best so far: TABLE#: 0 CST: 4 CDN: 3 BYTES: 357
****** Recost for ORDER BY (using index) ************
SINGLE TABLE ACCESS PATH
TABLE: MHDISL ORIG CDN: 1592807 ROUNDED CDN: 3 CMPTD CDN: 3
Access path: tsc Resc: 1702 Resp: 1702
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 4518
Access path: index (scan)
Index: MHDISL10
index io scan cost 4518
Access path: index (scan)
Index: MHDISL10
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4521
IX_SEL: 5.0000e-01 TB_SEL: 1.6921e-06
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 1
Access path: index (scan)
Index: MHDISL30
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4
IX_SEL: 1.6921e-06 TB_SEL: 1.6921e-06
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 1
Access path: index (scan)
Index: MHDISL40
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4
IX_SEL: 1.6921e-06 TB_SEL: 1.6921e-06
BEST_CST: 4.00 PATH: 4 Degree: 1
OPTIMIZER STATISTICS AND COMPUTATIONS
GENERAL PLANS
Join order[1]: MHDISL[MHDISL]#0
Best so far: TABLE#: 0 CST: 4 CDN: 3 BYTES: 357
****** Recost for ORDER BY (using index) ************
SINGLE TABLE ACCESS PATH
TABLE: MHDISL ORIG CDN: 1592807 ROUNDED CDN: 3 CMPTD CDN: 3
Access path: tsc Resc: 1702 Resp: 1702
Skip scan: ss-sel 0 andv 292691
ss cost 292691
index io scan cost 4518
Access path: index (scan)
Index: MHDISL10
TABLE: MHDISL
RSC_CPU: 0 RSC_IO: 4521
IX_SEL: 5.0000e-01 TB_SEL: 1.6921e-06
BEST_CST: 4521.00 PATH: 4 Degree: 1
Join order[1]: MHDISL[MHDISL]#0
SORT resource Sort statistics
Sort width: 7 Area size: 131072 Max Area size: 5242880
Degree: 1
Blocks to Sort: 1 Row size: 141 Rows: 3
Initial runs: 1 Merge passes: 1 IO Cost / pass: 2
Total IO sort cost: 2
Total CPU sort cost: 0
Total Temp space used: 0
Final - All Rows Plan:
JOIN ORDER: 1
CST: 4 CDN: 3 RSC: 4 RSP: 4 BYTES: 357
IO-RSC: 4 IO-RSP: 4 CPU-RSC: 0 CPU-RSP: 0
QUERY
EXPLAIN PLAN SET STATEMENT_ID='PLUS114150' FOR SELECT * FROM MVXJDTA.MHDISL WHE
RE URCONO= 100
AND URDLIX=1000000001
Similar Messages
-
Group by change the sql plan by adding "filter"
The table is created by:
SQL> create table t1 as select 1 a,rownum b, rownum c from dual connect by rownum<10000;
Table created.
SQL> create index t1_idx on t1 (a,b);
Index created.
SQL> exec dbms_stats.gather_table_stats(null,'T1',cascade=>true,estimate_percent=>1,no_invalidate=>true,degree=>4,block_sample => true,granularity => 'ALL');
PL/SQL procedure successfully completed.After added group by, the access and filter appear in the plan, and they are exactly the same
SQL> set autotrace trace explain
SQL> select b,count(*) from t1 where a=1 and b between 10 and 200 group by b;
Execution Plan
Plan hash value: 1662069396
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 192 | 1344 | 2 |
| 1 | SORT GROUP BY NOSORT| | 192 | 1344 | 2 |
|* 2 | INDEX RANGE SCAN | T1_IDX | 192 | 1344 | 2 |
Predicate Information (identified by operation id):
2 - access("A"=1 AND "B">=10 AND "B"<=200)
filter("A"=1 AND "B">=10 AND "B"<=200) ===> *why filter happens here?*
Note
- cpu costing is off (consider enabling it)Without group by, only access appears in the plan
SQL> select * from t1 where a=1 and b between 10 and 200 ;
Execution Plan
Plan hash value: 1720721055
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 192 | 1920 | 3 |
| 1 | TABLE ACCESS BY INDEX ROWID| T1 | 192 | 1920 | 3 |
|* 2 | INDEX RANGE SCAN | T1_IDX | 192 | | 2 |
Predicate Information (identified by operation id):
2 - access("A"=1 AND "B">=10 AND "B"<=200)
Note
- cpu costing is off (consider enabling it)What's your version ?
No filter on 10.2.0.4 :
SQL> select b,count(*) from t1 where a=1 and b between 10 and 200 group by b;
Execution Plan
Plan hash value: 1662069396
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 192 | 1344 | 2 (0)| 00:00:01 |
| 1 | SORT GROUP BY NOSORT| | 192 | 1344 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | T1_IDX | 192 | 1344 | 2 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("A"=1 AND "B">=10 AND "B"<=200)
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for HPUX: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - ProductionNicolas. -
How to change the explain plan for currently running query?
Hi All,
I am using Oracle enterprise 9i edition. I have a query which frames dynamically and running in the database. I noticed a table with 31147758 rows
in the query which has no indexes and taking more time to process. I tried to create an INdex on that table. I know the query is already running with a FULL table scan. Is it possible to change the explain plan for the current running query to consider the INDEX?
[code]
SELECT /*+ USE_HASH (c,e,b,a) */
d.att_fcc extrt_prod_dim_id,
d.att_fcc compr_prod_dim_id,
a.glbl_uniq_id glbl_uniq_id,
to_date(c.dit_code,'RRRRMMDD')STRT_DT,
(to_date(c.dit_code,'RRRRMMDD')+150)END_DT,
a.pat_nbr pat_id,
a.rxer_id rxer_id,
e.rxer_geog_id rxer_geog_id,
a.pharmy_id pharmy_id,
a.pscr_pack_id pscr_pack_id,
a.dspnsd_pack_id dspnsd_pack_id,
DENSE_RANK () OVER (PARTITION BY a.pat_nbr ORDER BY c.dit_code) daterank,
COUNT( DISTINCT d.att_fcc ) OVER (PARTITION BY a.pat_nbr, c.dit_code) event_cnt
DENSE_RANK () OVER (PARTITION BY a.pat_nbr,
d.att_fcc
ORDER BY c.dit_code) prodrank,
DENSE_RANK () OVER (PARTITION BY a.pat_nbr,
d.att_fcc
ORDER BY c.dit_code DESC) stoprank
FROM
pd_dimitems c,
pd_pack_attribs d ,
lrx_tmp_rxer_geog e,
lrx_tmp_pat_daterank p,
lrx_tmp_valid_fact_link a
WHERE c.dit_id = a.tm_id
AND e.rxer_id = a.rxer_id
AND a.glbl_uniq_id = p.glbl_uniq_id
AND p.daterank > 1
AND a.pscr_pack_id = d.att_dit_id
[/code]
The table lrx_tmp_pat_daterank is having that 31147758 rows. So I am wondering how to make the query to use the newly created index on the table?Why do you think using Indexes will improve the performance of the query? How many rows this query is returning? Optimizer might chose a Full table scan when it finds out that Index plan might not be useful. Why are you using /*+ USE_HASH (c,e,b,a) */ hint? This Hint will force oracle to use Full table scan instead of using the index. Try removing it and see if the plan changes.
Regards, -
Can I change the evaluation plan in BDB?
I am a beginner. I wonder if I can change the evaluation plan in BDB so that I can explicitly say I want to do merge join as an example?
thanks a lot!
Edited by: user11201453 on May 26, 2009 8:20 AMThank you for your reply. I appreciate.
I think my question is not clear. sorry for that.
For example,
I want to run a sql query:
select *
from A, B
where A.a=B.b
The DB then will parse it and generate a plan to evaluate this query.
For example,
scan A
scan B
join
There are several join methods, like index join, sort merge join...BDB's optimizer will choose one that I cannot know.
I want to use merge join and I don't know how to explicitly tell BDB to use it. -
User Exit/Badi to change the billing plan date when create sale order
Experts,
Please advise which user exit/badi can be used to change the billing plan date wen create sale order.
My requriement is based on some rules to dynamically change the line item billing plan start date and end date when create sales order.
I tried some user eixt in MV45AFZZ, but the date got revert to the orginal date from billing plan.Hi,
check the include MV45AFZB.
Thanks & Regards,
Sateesh. -
FM/BAPI for changing the inspection plan
Hi,
I need to change the inspection plan.
Can anyone suggest any FM or BAPI please.
When I am trying to use BAPI BAPI_INSPECTIONPLAN_CREATE for this purpose,
I am getting the below mentioned errors:
E BAPI 001
A CPCL 006 Task list Q Q0000171 1 already exists
A CPCC_DT 210 For further processing, the routing entry is missing
Thanks in advance.Hi,
Could you please help me with the fields that need to filled for this purpose ?
I am currently filling the TASK and INSCHARACTERISTIC structures with the following fields filled:
TASK:
TASK_LIST_GROUP
GROUP_COUNTER
VALID_FROM
VALID_TO_DATE
TASK_LIST_USAGE
PLANT
TASK_LIST_STATUS
TASK_MEASURE_UNIT
LOT_SIZE_FROM
LOT_SIZE_TO
INSPCHARACTERISTIC:
TASK_LIST_GROUP
GROUP_COUNTER
ACTIVITY
INSPCHAR
QUANTITATIVE_IND
MSTR_CHAR
PMSTR_CHAR
CHA_MASTER_IMPORT_MODUS
CHAR_DESCR
UP_TOL_LMT_IND
LW_TOL_LMT_IND
TARGET_VAL_CHECK_IND
TARGET_VAL
UP_TOL_LMT
LW_TOL_LMT
But still I am getting the error mentioned above(previous message).
Thanks
Shilpika -
Does changing the SQL Server Service Account impact FILESTREAM data?
I have a stand-alone SQL Server 2008 instance that I need to change the SQL Server service account from LocalSystem to a domain account. However, I was wondering if there was any impact on FILESTREAM enabled databases that are hosted on the SQL Server?
Specifically, has anyone ever changed the SQL Server service account when using FILESTREAM ...
Sincerely,
Sean FitzgeraldI have a stand-alone SQL Server 2008 instance that I need to change the SQL Server service account from LocalSystem to a domain account. However, I was wondering if there was any impact on FILESTREAM enabled databases that are hosted on the SQL Server?
Specifically, has anyone ever changed the SQL Server service account when using FILESTREAM ...
Sincerely,
Sean Fitzgerald
BOL says : Only the account under which the SQL Server service account runs is granted NTFS permissions to the FILESTREAM container.So, if you start SQL Server under different account , that account wil have access to use fliestream data (read / write)
At the database level ,If a user has permission to the FILESTREAM column in a table, the user can open the associated files..
Abhay Chaudhary OCP 9i, MCTS/MCITP (SQL Server 2005, 2008, 2005 BI) ms-abhay.blogspot.com/ -
How can i use dsadm to change the ldap port?
I have a ldap with port 1389,I changed it to 389,now I can not start it because it is a non root user.
Now I want to change the port back to 1389,but I can not use dsconf because the server is not running.
How can i do now? How can i use dsadm to change the port?
Thank u very much.My apologies, I didn't mean to be rude/impolite.
I just wanted to emphasize that in a situation where a Directory Server doesn't even start, you cannot interact with the live server to configure the new port (either talking LDAP or otherwise). All you can do in that case won't be related with the LDAP (that's just the name of the protocol): either assigning network privileges to the user, or changing the Directory Server configuration file.
The other thing I'd like to outline (and this could take a separate thread ;-) ), is that semantically, I'd prefer talking of a Directory Server instead of an LDAP Server because the former is 'something' providing Directory Services, whereas the latter is just the name of the protocol we use to interact with the server; but this is just my personal opinion, you don't have to agree with me.
that's all folks!
marco -
How can you turn off the braille setting on an iPhone 4s, once on it won't let you slide the phone into use mode to change the settings or do anything?
An alternate method is Accessibility Settings when connected to iTunes. You should be able to turn it off there. I would also check out some of the answers listed to the right of this post and see if they can help.
-
Using javascript to change the "Overall Result" cell in WAD
Hi experts,
I am trying to use javascript to change the text of the "Overall Result" cell in my web template using BI 7.0. I am not familiar with javascript, but I this is what I have done so far.
I dragged the web item "Script" into my web template and I inserted the following code:
function change_overall_result_to_average() {
var cell = document.getElementsByTagName("TD");
var cellText;
for (i = 0; i < cell.length; i++)
cellText = cell<i>.innerText;
if (cellText == "Overall Result")
cell<i>.innerText = "Average";
In the XHTML view I am using added the onload function to start the javascript every time the web template is loaded. The code works fine when the web template is first loaded and the cell text is changed to "Average". However, if I navigate in my web template, the javascript function is not triggered, and the cell is therefore changed back to "Overall Result". For example, this happens when I pick another selection from one of my dropdown boxes, such as changing the selection from year 2008 to year 2007.
I don't really know how to solve this problem in an easy way, and the current solution is not good enough. I hope one of you guys can suggest an easy way of fixing this:-)
Best Regards,
MortenWoodstock apparently renders some Javascript/DOM with some homegrown widget framework which on its turn renders the HTML DOM tree instead of plain vanilla HTML. Correct me if I'm wrong, to confirm this, just view the generated HTML source of the page.
After some Googling I found out that you need getProps() and setProps() to get and set element attributes respectively.
[http://google.com/search?q=webuijsf+domnode+site:sun.com].
If you stucks with this, I recommend you to post this question at a forum or mailinglist devoted to Woodstock, e.g at their own homepage at dev.java.net or the Netbeans forum at nabble.com. You're here at a Sun JSF forum, not at a Woodstock forum. -
How do I use AppleScript to Change the Creation Date to the Current Date?
I sorted my downloads folder by creation date and found that the items were sorted seemingly randomly. On closer inspection, I saw that the creation dates were not the same as the dates that I downloaded the items, so I figures that Snow Leopard was using the date given to it by the server.
In order to get the items sorted by download date, I figured I'd use Hazel, but it doesn't have a “change creation date” item. It does, however, have an “run AppleScript” item.
So my question is this: how do I use AppleScript to change the creation date of an item to the current date?TC (Techno Cat) wrote:
Okay, I tried changing the creation date with SetFile, but it kept giving me an error:
What am I doing wrong?
Looks like the date and time was not quoted
Try this Applescript. It will change the creation date of every file in the Downloads folder to the current date and time:
<pre style="
font-family: Monaco, 'Courier New', Courier, monospace;
font-size: 10px;
font-weight: normal;
margin: 0px;
padding: 5px;
border: 1px solid #000000;
width: 720px;
color: #000000;
background-color: #E6E6EE;
overflow: auto;"
title="this text can be pasted into the AppleScript Editor">
set current_date_and_time to do shell script "date \"+%m/%d/%Y %H:%M\""
tell application "Finder"
set filelist to every file of the alias (the path to downloads folder as text)
repeat with currentFile in filelist
do shell script "/usr/bin/SetFile -d " & quoted form of current_date_and_time & space & quoted form of POSIX path of (currentFile as string)
end repeat
end tell</pre> -
When I copy and paste from Word to my e-mail using Firefox it changes the font and spacing to single space and 10pt.
It just started doing this a month ago.
It does not do it when I am on my laptop or using Explorer.
Help, I hate explorer.If this were a project that I was involved in, I would recapture the media at the correct frame rate and rebuild the sequences correctly.
Moving from production, to post production, to delivery is a series of steps, and the success of any particular step is based on having all the preceding steps done correctly.
Shortcuts and workarounds tend to create awkward and difficult problems, that often only surface late in the process.
MtD -
Change the sql 2005 database C drive to E drive
hi,
it is possible to change the sql 2005 database C drive to E drive
if ,yes then step:-?
Regards
AmitHello Amit,
>it is possible to change the sql 2005 database C drive to E drive
>if ,yes then step:-?
You can also check note [363018|http://service.sap.com/sap/support/notes/363018].
Regards,
Eduardo -
DECODE is changing the explain plan
I have a statement with a decode function in the where clause like this:
AND decode(:cropcode,-1,'-1',sdu.u_crop_group) = decode(:cropcode,-1,'-1',:cropcode)When I a pass -1 as parameter for cropgroup the filter would result in "AND '-1' = '-1' and the statement is executed in less than 2 seconds. When I leave out this where clause it takes almost 18 seconds. The result is the same so I don't understand why the explain plan is so much different and why not using index scans in the statement without decode.
Below the explain plans and tkprofs for 1 (without decode) and 2 (with decode).
*explain 1*
{code}
SQL Statement which produced this data:
select * from table(dbms_xplan.display)
PLAN_TABLE_OUTPUT
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)|
| 0 | SELECT STATEMENT | | 7080 | 2413K| | 43611 (2)|
| 1 | SORT ORDER BY | | 7080 | 2413K| 5224K| 43611 (2)|
|* 2 | FILTER | | | | | |
|* 3 | HASH JOIN | | 7156 | 2438K| | 43075 (2)|
| 4 | TABLE ACCESS FULL | DWH_ABS_DETERMINATION | 17745 | 363K| | 83 (0)|
|* 5 | HASH JOIN OUTER | | 7156 | 2292K| | 42991 (2)|
|* 6 | HASH JOIN | | 7156 | 1355K| | 42907 (2)|
|* 7 | HASH JOIN | | 6987 | 1187K| | 19170 (2)|
|* 8 | HASH JOIN | | 6947 | 963K| | 10376 (1)|
|* 9 | TABLE ACCESS BY INDEX ROWID | ALIQUOT | 3 | 144 | | 3 (0)|
| 10 | NESTED LOOPS | | 6907 | 897K| | 8577 (1)|
|* 11 | HASH JOIN | | 2264 | 187K| | 1782 (2)|
| 12 | TABLE ACCESS BY INDEX ROWID | SAMPLE | 190 | 4370 | | 17 (0)|
| 13 | NESTED LOOPS | | 2264 | 152K| | 107 (1)|
| 14 | NESTED LOOPS | | 12 | 552 | | 25 (0)|
|* 15 | TABLE ACCESS FULL | SDG_USER | 12 | 288 | | 13 (0)|
| 16 | TABLE ACCESS BY INDEX ROWID| SDG | 1 | 22 | | 1 (0)|
|* 17 | INDEX UNIQUE SCAN | PK_SDG | 1 | | | 0 (0)|
|* 18 | INDEX RANGE SCAN | FK_SAMPLE_SDG | 597 | | | 2 (0)|
| 19 | TABLE ACCESS FULL | SAMPLE_USER | 1078K| 16M| | 1669 (1)|
|* 20 | INDEX RANGE SCAN | FK_ALIQUOT_SAMPLE | 3 | | | 2 (0)|
| 21 | TABLE ACCESS FULL | ALIQUOT_USER | 3403K| 29M| | 1781 (3)|
| 22 | TABLE ACCESS FULL | TEST | 3423K| 104M| | 8775 (2)|
|* 23 | TABLE ACCESS FULL | RESULT | 3435K| 65M| | 23718 (2)|
| 24 | VIEW | PLATE | 21787 | 2851K| | 84 (2)|
|* 25 | FILTER | | | | | |
| 26 | TABLE ACCESS FULL | PLATE | 21787 | 574K| | 84 (2)|
|* 27 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | | 0 (0)|
|* 28 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | | 0 (0)|
|* 29 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | | 0 (0)|
|* 30 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | | 0 (0)|
|* 31 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | | 0 (0)|
Predicate Information (identified by operation id):
2 - filter(("GROUP_ID" IS NULL OR EXISTS (SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP"
"OPERATOR_GROUP" WHERE "OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B1)) AND ("GROUP_ID" IS NULL
OR EXISTS (SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP" "OPERATOR_GROUP" WHERE
"OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B2)) AND ("GROUP_ID" IS NULL OR EXISTS (SELECT /*+
*/ 0 FROM "LIMS"."OPERATOR_GROUP" "OPERATOR_GROUP" WHERE "OPERATOR_ID"="LIMS$OPERATOR_ID"() AND
"GROUP_ID"=:B3)) AND ("GROUP_ID" IS NULL OR EXISTS (SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP"
"OPERATOR_GROUP" WHERE "OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B4)))
3 - access("U_ABS_DETERMINATION"="DETERMINATION_ASSIGNMENT")
5 - access("PLT"."PLATE_ID"(+)="PLATE_ID")
6 - access("TEST_ID"="TEST_ID")
7 - access("ALIQUOT_ID"="ALIQUOT_ID")
8 - access("ALIQUOT_ID"="ALIQUOT_ID")
9 - filter("STATUS"='C' OR "STATUS"='P' OR "STATUS"='V')
11 - access("SAMPLE_ID"="SAMPLE_ID")
15 - filter("U_ABS_DETERMINATION" IS NOT NULL AND "U_CLIENT_TYPE"='QC' AND
"U_WEEK_OF_PROCESSING"=TO_NUMBER(:WEEK) AND "U_YEAR_OF_SAMPLE_DELIVERY"=TO_NUMBER(:YEAR))
17 - access("SDG_ID"="SDG_ID")
18 - access("SDG_ID"="SDG_ID")
20 - access("SAMPLE_ID"="SAMPLE_ID")
23 - filter("NAME"='End result')
25 - filter("GROUP_ID" IS NULL OR EXISTS (SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP"
"OPERATOR_GROUP" WHERE "OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B1))
27 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
28 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
29 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
30 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
31 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
Note
- 'PLAN_TABLE' is old version
{code}
*tkprof 1*
{code}
TKPROF: Release 10.2.0.3.0 - Production on Tue Jan 13 13:21:47 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Trace file: C:\oracle\product\10.2.0\admin\nautp02\udump\nautp02_ora_880.trc
Sort options: default
count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
SELECT sdu.u_crop_group,
sd.name as sdg_name,
ad.variety_name,
ad.batch_number,
a.name as aliquot_name,
sau.u_box_code as box_code,
sau.u_box_position as box_position,
t.name as test_name,
r.original_result,
plt.name as plate_name,
concat(chr(a.plate_row + 64),a.plate_column) as plate_position,
au.u_replicate_number as replicate_number
FROM lims_sys.sdg sd,
lims_sys.sdg_user sdu,
lims_sys.sample sa,
lims_sys.sample_user sau,
lims_sys.aliquot a,
lims_sys.aliquot_user au,
lims_sys.test t,
lims_sys.result r,
lims_sys.plate plt,
lims_sys.abs_determination ad
WHERE sd.sdg_id = sdu.sdg_id
AND sd.sdg_id = sa.sdg_id
AND sa.sample_id = sau.sample_id
AND sau.sample_id = a.sample_id
AND a.aliquot_id = au.aliquot_id
AND au.aliquot_id = t.aliquot_id
AND t.test_id = r.test_id
AND plt.plate_id (+) = a.plate_id
AND sdu.u_abs_determination = ad.determination_assignment
AND a.status IN ('V','P','C')
AND r.name = 'End result'
AND sdu.u_client_type = 'QC'
AND sdu.u_year_of_sample_delivery = (:year)
AND sdu.u_week_of_processing = (:week)
--AND decode(:cropcode,-1,'-1',sdu.u_crop_group) = decode(:cropcode,-1,'-1',:cropcode)
ORDER BY box_code, box_position, replicate_number
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 1.15 1.16 0 0 0 0
Fetch 1 8.53 16.10 227649 241266 0 500
total 3 9.68 17.27 227649 241266 0 500
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 97
Rows Row Source Operation
500 SORT ORDER BY (cr=241266 pr=227649 pw=0 time=16104631 us)
21311 FILTER (cr=241266 pr=227649 pw=0 time=16246749 us)
21311 HASH JOIN (cr=241266 pr=227649 pw=0 time=16225434 us)
17745 TABLE ACCESS FULL DWH_ABS_DETERMINATION (cr=374 pr=0 pw=0 time=69 us)
21311 HASH JOIN RIGHT OUTER (cr=240892 pr=227649 pw=0 time=16170607 us)
21895 VIEW PLATE (cr=316 pr=0 pw=0 time=43825 us)
21895 FILTER (cr=316 pr=0 pw=0 time=43823 us)
21895 TABLE ACCESS FULL PLATE (cr=316 pr=0 pw=0 time=31 us)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
21311 HASH JOIN (cr=240576 pr=227649 pw=0 time=16106174 us)
21311 HASH JOIN (cr=133559 pr=121596 pw=0 time=9594130 us)
21311 HASH JOIN (cr=94323 pr=83281 pw=0 time=6917067 us)
21311 HASH JOIN (cr=86383 pr=75547 pw=0 time=5509672 us)
7776 HASH JOIN (cr=8134 pr=0 pw=0 time=285364 us)
7776 TABLE ACCESS BY INDEX ROWID SAMPLE (cr=572 pr=0 pw=0 time=27152 us)
7876 NESTED LOOPS (cr=377 pr=0 pw=0 time=488287 us)
99 HASH JOIN (cr=160 pr=0 pw=0 time=4168 us)
99 TABLE ACCESS FULL SDG_USER (cr=53 pr=0 pw=0 time=1209 us)
5719 TABLE ACCESS FULL SDG (cr=107 pr=0 pw=0 time=17 us)
7776 INDEX RANGE SCAN FK_SAMPLE_SDG (cr=217 pr=0 pw=0 time=623 us)(object id 45990)
1079741 TABLE ACCESS FULL SAMPLE_USER (cr=7562 pr=0 pw=0 time=24 us)
3307948 TABLE ACCESS FULL ALIQUOT (cr=78249 pr=75547 pw=0 time=3331129 us)
3406836 TABLE ACCESS FULL ALIQUOT_USER (cr=7940 pr=7734 pw=0 time=556 us)
3406832 TABLE ACCESS FULL TEST (cr=39236 pr=38315 pw=0 time=3413192 us)
3406832 TABLE ACCESS FULL RESULT (cr=107017 pr=106053 pw=0 time=6848487 us)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
select 'x'
from
dual
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.00 0.00 0 0 0 1
total 3 0.00 0.00 0 0 0 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 97
Rows Row Source Operation
1 FAST DUAL (cr=0 pr=0 pw=0 time=3 us)
begin :id := sys.dbms_transaction.local_transaction_id; end;
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 1
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.00 0 0 0 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 97
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 3 0.00 0.00 0 0 0 0
Execute 3 1.15 1.16 0 0 0 1
Fetch 2 8.53 16.10 227649 241266 0 501
total 8 9.68 17.27 227649 241266 0 502
Misses in library cache during parse: 1
Misses in library cache during execute: 1
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 30 0.00 0.00 0 0 0 0
Execute 30 0.00 0.00 0 0 0 0
Fetch 30 0.00 0.00 0 40 0 10
total 90 0.00 0.00 0 40 0 10
Misses in library cache during parse: 0
3 user SQL statements in session.
30 internal SQL statements in session.
33 SQL statements in session.
Trace file: C:\oracle\product\10.2.0\admin\nautp02\udump\nautp02_ora_880.trc
Trace file compatibility: 10.01.00
Sort options: default
8 sessions in tracefile.
3 user SQL statements in trace file.
30 internal SQL statements in trace file.
33 SQL statements in trace file.
6 unique SQL statements in trace file.
633 lines in trace file.
23 elapsed seconds in trace file.
{code}explain 2
SQL Statement which produced this data:
select * from table(dbms_xplan.display)
PLAN_TABLE_OUTPUT
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
| 0 | SELECT STATEMENT | | 71 | 24779 | 857 (1)|
| 1 | SORT ORDER BY | | 71 | 24779 | 857 (1)|
|* 2 | FILTER | | | | |
|* 3 | TABLE ACCESS BY INDEX ROWID | RESULT | 1 | 20 | 4 (0)|
| 4 | NESTED LOOPS | | 72 | 25128 | 856 (1)|
| 5 | NESTED LOOPS | | 70 | 23030 | 576 (1)|
|* 6 | HASH JOIN OUTER | | 69 | 20493 | 369 (1)|
| 7 | NESTED LOOPS | | 69 | 11247 | 285 (0)|
| 8 | NESTED LOOPS | | 69 | 10626 | 147 (0)|
| 9 | NESTED LOOPS | | 23 | 2438 | 78 (0)|
| 10 | NESTED LOOPS | | 23 | 2070 | 32 (0)|
| 11 | NESTED LOOPS | | 1 | 67 | 15 (0)|
| 12 | NESTED LOOPS | | 1 | 45 | 14 (0)|
|* 13 | TABLE ACCESS FULL | SDG_USER | 1 | 24 | 13 (0)|
| 14 | TABLE ACCESS BY INDEX ROWID| DWH_ABS_DETERMINATION | 1 | 21 | 1 (0)|
|* 15 | INDEX UNIQUE SCAN | PK_DWH_ABS_DETERMINATION | 1 | | 0 (0)|
| 16 | TABLE ACCESS BY INDEX ROWID | SDG | 1 | 22 | 1 (0)|
|* 17 | INDEX UNIQUE SCAN | PK_SDG | 1 | | 0 (0)|
| 18 | TABLE ACCESS BY INDEX ROWID | SAMPLE | 190 | 4370 | 17 (0)|
|* 19 | INDEX RANGE SCAN | FK_SAMPLE_SDG | 597 | | 2 (0)|
| 20 | TABLE ACCESS BY INDEX ROWID | SAMPLE_USER | 1 | 16 | 2 (0)|
|* 21 | INDEX UNIQUE SCAN | PK_SAMPLE_USER | 1 | | 1 (0)|
|* 22 | TABLE ACCESS BY INDEX ROWID | ALIQUOT | 3 | 144 | 3 (0)|
|* 23 | INDEX RANGE SCAN | FK_ALIQUOT_SAMPLE | 3 | | 2 (0)|
| 24 | TABLE ACCESS BY INDEX ROWID | ALIQUOT_USER | 1 | 9 | 2 (0)|
|* 25 | INDEX UNIQUE SCAN | PK_ALIQUOT_USER | 1 | | 1 (0)|
| 26 | VIEW | PLATE | 21787 | 2851K| 84 (2)|
|* 27 | FILTER | | | | |
| 28 | TABLE ACCESS FULL | PLATE | 21787 | 574K| 84 (2)|
|* 29 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | 0 (0)|
| 30 | TABLE ACCESS BY INDEX ROWID | TEST | 1 | 32 | 3 (0)|
|* 31 | INDEX RANGE SCAN | FK_TEST_ALIQUOT | 1 | | 2 (0)|
|* 32 | INDEX RANGE SCAN | FK_RESULT_TEST | 2 | | 2 (0)|
|* 33 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | 0 (0)|
|* 34 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | 0 (0)|
|* 35 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | 0 (0)|
|* 36 | INDEX UNIQUE SCAN | PK_OPERATOR_GROUP | 1 | 7 | 0 (0)|
Predicate Information (identified by operation id):
2 - filter(("GROUP_ID" IS NULL OR EXISTS (SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP"
"OPERATOR_GROUP" WHERE "OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B1)) AND ("GROUP_ID"
IS NULL OR EXISTS (SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP" "OPERATOR_GROUP" WHERE
"OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B2)) AND ("GROUP_ID" IS NULL OR EXISTS
(SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP" "OPERATOR_GROUP" WHERE
"OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B3)) AND ("GROUP_ID" IS NULL OR EXISTS
(SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP" "OPERATOR_GROUP" WHERE
"OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B4)))
3 - filter("NAME"='End result')
6 - access("PLT"."PLATE_ID"(+)="PLATE_ID")
13 - filter("U_ABS_DETERMINATION" IS NOT NULL AND "U_CLIENT_TYPE"='QC' AND
"U_WEEK_OF_PROCESSING"=TO_NUMBER(:WEEK) AND "U_YEAR_OF_SAMPLE_DELIVERY"=TO_NUMBER(:YEAR) AND
DECODE(:CROPCODE,(-1),'-1',"U_CROP_GROUP")=DECODE(:CROPCODE,(-1),'-1',:CROPCODE))
15 - access("U_ABS_DETERMINATION"="DETERMINATION_ASSIGNMENT")
17 - access("SDG_ID"="SDG_ID")
19 - access("SDG_ID"="SDG_ID")
21 - access("SAMPLE_ID"="SAMPLE_ID")
22 - filter("STATUS"='C' OR "STATUS"='P' OR "STATUS"='V')
23 - access("SAMPLE_ID"="SAMPLE_ID")
25 - access("ALIQUOT_ID"="ALIQUOT_ID")
27 - filter("GROUP_ID" IS NULL OR EXISTS (SELECT /*+ */ 0 FROM "LIMS"."OPERATOR_GROUP"
"OPERATOR_GROUP" WHERE "OPERATOR_ID"="LIMS$OPERATOR_ID"() AND "GROUP_ID"=:B1))
29 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
31 - access("ALIQUOT_ID"="ALIQUOT_ID")
32 - access("TEST_ID"="TEST_ID")
33 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
34 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
35 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
36 - access("GROUP_ID"=:B1 AND "OPERATOR_ID"="LIMS$OPERATOR_ID"())
Note
- 'PLAN_TABLE' is old version
tkprof 2
TKPROF: Release 10.2.0.3.0 - Production on Tue Jan 13 13:28:26 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Trace file: C:\oracle\product\10.2.0\admin\nautp02\udump\nautp02_ora_5456.trc
Sort options: default
count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
SELECT sdu.u_crop_group,
sd.name as sdg_name,
ad.variety_name,
ad.batch_number,
a.name as aliquot_name,
sau.u_box_code as box_code,
sau.u_box_position as box_position,
t.name as test_name,
r.original_result,
plt.name as plate_name,
concat(chr(a.plate_row + 64),a.plate_column) as plate_position,
au.u_replicate_number as replicate_number
FROM lims_sys.sdg sd,
lims_sys.sdg_user sdu,
lims_sys.sample sa,
lims_sys.sample_user sau,
lims_sys.aliquot a,
lims_sys.aliquot_user au,
lims_sys.test t,
lims_sys.result r,
lims_sys.plate plt,
lims_sys.abs_determination ad
WHERE sd.sdg_id = sdu.sdg_id
AND sd.sdg_id = sa.sdg_id
AND sa.sample_id = sau.sample_id
AND sau.sample_id = a.sample_id
AND a.aliquot_id = au.aliquot_id
AND au.aliquot_id = t.aliquot_id
AND t.test_id = r.test_id
AND plt.plate_id (+) = a.plate_id
AND sdu.u_abs_determination = ad.determination_assignment
AND a.status IN ('V','P','C')
AND r.name = 'End result'
AND sdu.u_client_type = 'QC'
AND sdu.u_year_of_sample_delivery = (:year)
AND sdu.u_week_of_processing = (:week)
AND decode(:cropcode,-1,'-1',sdu.u_crop_group) = decode(:cropcode,-1,'-1',:cropcode)
ORDER BY box_code, box_position, replicate_number
call count cpu elapsed disk query current rows
Parse 1 0.01 0.00 0 0 0 0
Execute 1 0.45 0.87 0 0 0 0
Fetch 1 1.00 0.99 0 221420 0 500
total 3 1.46 1.86 0 221420 0 500
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 97
Rows Row Source Operation
500 SORT ORDER BY (cr=221420 pr=0 pw=0 time=992364 us)
21311 FILTER (cr=221420 pr=0 pw=0 time=1128970 us)
21311 TABLE ACCESS BY INDEX ROWID RESULT (cr=221420 pr=0 pw=0 time=1086345 us)
42623 NESTED LOOPS (cr=217549 pr=0 pw=0 time=30006317 us)
21311 NESTED LOOPS (cr=174880 pr=0 pw=0 time=809278 us)
21311 NESTED LOOPS (cr=110117 pr=0 pw=0 time=553538 us)
21311 HASH JOIN OUTER (cr=46182 pr=0 pw=0 time=319102 us)
21311 TABLE ACCESS BY INDEX ROWID ALIQUOT (cr=45866 pr=0 pw=0 time=193037 us)
29088 NESTED LOOPS (cr=39885 pr=0 pw=0 time=320084 us)
7776 NESTED LOOPS (cr=24267 pr=0 pw=0 time=156721 us)
7776 NESTED LOOPS (cr=937 pr=0 pw=0 time=78954 us)
99 NESTED LOOPS (cr=454 pr=0 pw=0 time=3826 us)
99 NESTED LOOPS (cr=253 pr=0 pw=0 time=2833 us)
99 TABLE ACCESS FULL SDG_USER (cr=53 pr=0 pw=0 time=1531 us)
99 TABLE ACCESS BY INDEX ROWID DWH_ABS_DETERMINATION (cr=200 pr=0 pw=0 time=956 us)
99 INDEX UNIQUE SCAN PK_DWH_ABS_DETERMINATION (cr=101 pr=0 pw=0 time=438 us)(object id 46965)
99 TABLE ACCESS BY INDEX ROWID SDG (cr=201 pr=0 pw=0 time=707 us)
99 INDEX UNIQUE SCAN PK_SDG (cr=101 pr=0 pw=0 time=330 us)(object id 46071)
7776 TABLE ACCESS BY INDEX ROWID SAMPLE (cr=483 pr=0 pw=0 time=16261 us)
7776 INDEX RANGE SCAN FK_SAMPLE_SDG (cr=217 pr=0 pw=0 time=562 us)(object id 45990)
7776 TABLE ACCESS BY INDEX ROWID SAMPLE_USER (cr=23330 pr=0 pw=0 time=64710 us)
7776 INDEX UNIQUE SCAN PK_SAMPLE_USER (cr=15554 pr=0 pw=0 time=33728 us)(object id 46012)
21311 INDEX RANGE SCAN FK_ALIQUOT_SAMPLE (cr=15618 pr=0 pw=0 time=43423 us)(object id 45346)
21895 VIEW PLATE (cr=316 pr=0 pw=0 time=43833 us)
21895 FILTER (cr=316 pr=0 pw=0 time=21936 us)
21895 TABLE ACCESS FULL PLATE (cr=316 pr=0 pw=0 time=37 us)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
21311 TABLE ACCESS BY INDEX ROWID ALIQUOT_USER (cr=63935 pr=0 pw=0 time=182479 us)
21311 INDEX UNIQUE SCAN PK_ALIQUOT_USER (cr=42624 pr=0 pw=0 time=99160 us)(object id 45386)
21311 TABLE ACCESS BY INDEX ROWID TEST (cr=64763 pr=0 pw=0 time=219096 us)
21311 INDEX RANGE SCAN FK_TEST_ALIQUOT (cr=42669 pr=0 pw=0 time=129354 us)(object id 46222)
21311 INDEX RANGE SCAN FK_RESULT_TEST (cr=42669 pr=0 pw=0 time=125893 us)(object id 45940)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
0 INDEX UNIQUE SCAN PK_OPERATOR_GROUP (cr=0 pr=0 pw=0 time=0 us)(object id 45769)
select 'x'
from
dual
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.00 0.00 0 0 0 1
total 3 0.00 0.00 0 0 0 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 97
Rows Row Source Operation
1 FAST DUAL (cr=0 pr=0 pw=0 time=6 us)
begin :id := sys.dbms_transaction.local_transaction_id; end;
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 2 0
Execute 1 0.00 0.00 0 0 0 1
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.00 0 0 2 1
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 97
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 3 0.01 0.00 0 0 2 0
Execute 3 0.45 0.87 0 0 0 1
Fetch 2 1.00 0.99 0 221420 0 501
total 8 1.46 1.87 0 221420 2 502
Misses in library cache during parse: 2
Misses in library cache during execute: 2
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 43 0.01 0.00 0 0 12 0
Execute 128 0.00 0.01 0 0 0 0
Fetch 178 0.00 0.00 0 383 0 465
total 349 0.01 0.02 0 383 12 465
Misses in library cache during parse: 5
Misses in library cache during execute: 5
3 user SQL statements in session.
128 internal SQL statements in session.
131 SQL statements in session.
Trace file: C:\oracle\product\10.2.0\admin\nautp02\udump\nautp02_ora_5456.trc
Trace file compatibility: 10.01.00
Sort options: default
1 session in tracefile.
3 user SQL statements in trace file.
128 internal SQL statements in trace file.
131 SQL statements in trace file.
19 unique SQL statements in trace file.
1352 lines in trace file.
287 elapsed seconds in trace file. -
Issue using JS to change the value of an output text component dynamically
I am developing an application and I need to change the output text component value at run time when the mouse moves over a field. I am using javascript and then using UIComponent.setproperty to change the value.
I am not able to do this and am getting nothing.
Kindly let me know what am I doing wrong
I am using ADF 11g (10th November release).
Regards,
DeepakHi i'm doing the same thing with an input text
here is my code
jspx:
<af:inputText value="#{bindings.MiddleName.inputValue}"
label="#{bindings.MiddleName.hints.label}"
required="#{bindings.MiddleName.hints.mandatory}"
columns="#{bindings.MiddleName.hints.displayWidth}"
maximumLength="#{bindings.MiddleName.hints.precision}"
shortDesc="#{bindings.MiddleName.hints.tooltip}"
id="it4" autoSubmit="true">
<f:validator binding="#{bindings.MiddleName.validator}"/>
<af:clientListener type="valueChange" method="mo_UpperCase"/>
</af:inputText>
js:
function mo_UpperCase(event){
var inputField = event.getSource();
if (event.getNewValue().toUpperCase()!=event.getNewValue())
inputField.setValue(event.getNewValue().toUpperCase());
In my case i change the input text to upercase when the value is changing
I hope it works with output text also,
change my examples clientlistener type from valueChange to mouseOver
If you have more than one component and you need to pass parameters check this thread also:
bug at af:clientAttribute 11.1.1.2.0
Tilemahos
Maybe you are looking for
-
How to store the documents in database
Hi all i have summary page in that user will attch some documents those documents i need to store in data base is it posible in OAF regards Sreekanth
-
Safari unable to view menu bar in full screen mode
Been using Lion for a while now and everything seems fine, except for some reason when Safar is in full screen mode and I move the mouse up to the toolbar, the file menu and shortcuts bar doesn't appear now. It worked yesterday... now it won't. I qui
-
Trigger PC00_M40_CALC
Hi I have a scenario like, when transaction PT91 is executed, a work flow has to be triggered to a User , the user on approving the workflow through User Decision, that should trigger PC00_M40_CALC transaction. Is there a possibility to acheive t
-
Ipad mac mini combo possible?
Hello all This is my first post I am itching to buy a mac mini and was about to when the ipad came out. So here I see a beutiful display (with a keyboard dock) that would be perfect for a mac mini. The mac mini needs a display, keyboard and mouse. ip
-
Unable to install VSTO plugin for sharepoint
I want to install the following plugin inside my PC link but when i run it i got the following exception :- Name: From: file:///C:/Users/,..../Downloads/SharePointWiki 1.0 (1)/SharePointWiki 1.0/SharePointWiki.vsto ************** Exception Text ****