| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> index scan is costly
In this case index scan is costly.
Even there is no repeat value in index column.
SQL> SELECT TCPART_GLOBAL.tril_gid FROM MCC_CATALOG.TCPART_GLOBAL WHERE ( TCPART_GLOBAL.ProductId ) = 'G62580000000' ORDER BY TCPART_GLOBAL.tril_gid;
TRIL_GID
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TCPART_GLOBAL' 2 1 INDEX (FULL SCAN) OF 'KEY_TCPART_GLOBAL' (UNIQUE) Statistics
0 recursive calls
0 db block gets
11066 consistent gets
0 physical reads
0 redo size
227 bytes sent via SQL*Net to client
349 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> SELECT /*+ FULL(TCPART_GLOBAL) */ TCPART_GLOBAL.tril_gid FROM MCC_CATALOG.TCPART_GLOBAL WHERE ( TCPART_GLOBAL.ProductId ) = 'G62580000000' ORDER BY TCPART_GLOBAL.tril_gid;
TRIL_GID
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=180 Card=395 Bytes=1
2245)
1 0 SORT (ORDER BY) (Cost=180 Card=395 Bytes=12245)
2 1 TABLE ACCESS (FULL) OF 'TCPART_GLOBAL' (Cost=149 Card=39
5 Bytes=12245)
Statistics
0 recursive calls
0 db block gets
972 consistent gets
1 physical reads
0 redo size
242 bytes sent via SQL*Net to client
349 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> select count(1) from MCC_CATALOG.TCPART_GLOBAL;
COUNT(1)
25147
SQL> select * from dba_indexes where index_name='KEY_TCPART_GLOBAL';
OWNER INDEX_NAME INDEX_TYPE TABLE_OWNER TABLE_NAME TABLE_TYPE UNIQUENES COMPRESS PREFIX_LENGTH TABLESPACE_NAME INI_TRANS MAX_TRANSINITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE PCT_THRESHOLD INCLUDE_COLUMN FREELISTS FREELIST_GROUPS PCT_FREE
LOG BLEVEL LEAF_BLOCKS DISTINCT_KEYS AVG_LEAF_BLOCKS_PER_KEY AVG_DATA_BLOCKS_PER_KEY CLUSTERING_FACTOR STATUS NUM_ROWS SAMPLE_SIZE LAST_ANAL DEGREE INSTANCES PAR T G S BUFFER_ USE DURATIONPCT_DIRECT_ACCESS ITYP_OWNER
NO NO
SQL> select count(distinct ProductId) FROM MCC_CATALOG.TCPART_GLOBAL;
COUNT(DISTINCTPRODUCTID)
25147
What could be reason Index scaning is costly then table scan. Received on Mon Mar 05 2007 - 20:56:09 CST
![]() |
![]() |