create table t1(c1 int, c2 int);
create index t1_n1 on t1(c1);
create index t1_n2 on t1(c1, c2);
create index t1_n3 on t1(c2);

gather t1

-----------------------------------------------------------------------------------
기본적으로 사용하던 예
-----------------------------------------------------------------------------------
woong:WOONG >
  t1  explain plan for
  2  select /*+ index(t1 t1_n1) */
  3    *
  4  from t1
  5  where c1 = 1 and c2 = 1;

해석되었습니다.

경   과: 00:00:00.01
woong:WOONG >
  t1  @plan

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------
Plan hash value: 1420382924

-------------------------------------------------------------------------------------
| Id  | Operation                   | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT            |       |     1 |    26 |     1   (0)| 00:00:01 |
|*  1 |  TABLE ACCESS BY INDEX ROWID| T1    |     1 |    26 |     1   (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN          | T1_N1 |     1 |       |     1   (0)| 00:00:01 |
-------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter("C2"=1)
   2 - access("C1"=1)

15 개의 행이 선택되었습니다.

경   과: 00:00:00.01


-----------------------------------------------------------
10g 에서 컬럼을 직접 지정하여 사용하는 예
힌트에 하나의 인덱스 컬럼을 사용할 때 단일컬럼 인덱스를 사용
-----------------------------------------------------------
woong:WOONG >
  t1  explain plan for
  2  select /*+ index(t1 t1(c1)) */
  3    *
  4  from t1
  5  where c1 = 1 and c2 = 1;

해석되었습니다.

경   과: 00:00:00.00
woong:WOONG >
  t1  @plan

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------
Plan hash value: 1420382924

-------------------------------------------------------------------------------------
| Id  | Operation                   | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT            |       |     1 |    26 |     1   (0)| 00:00:01 |
|*  1 |  TABLE ACCESS BY INDEX ROWID| T1    |     1 |    26 |     1   (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN          | T1_N1 |     1 |       |     1   (0)| 00:00:01 |
-------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter("C2"=1)
   2 - access("C1"=1)

15 개의 행이 선택되었습니다.

경   과: 00:00:00.03

-----------------------------------------------------------
10g 에서 컬럼을 직접 지정하여 사용하는 예
힌트에 두개의 인덱스 컬럼을 사용할 때 결합인덱스를 사용
-----------------------------------------------------------
woong:WOONG >
  t1  explain plan for
  2  select /*+ index(x t1(c1, c2)) */
  3    *
  4  from t1 x
  5  where c1 = 1 and c2 = 1;

해석되었습니다.

경   과: 00:00:00.00
woong:WOONG >
  t1  @plan

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------
Plan hash value: 677322570

--------------------------------------------------------------------------
| Id  | Operation        | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT |       |     1 |    26 |     1   (0)| 00:00:01 |
|*  1 |  INDEX RANGE SCAN| T1_N2 |     1 |    26 |     1   (0)| 00:00:01 |
--------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - access("C1"=1 AND "C2"=1)

13 개의 행이 선택되었습니다.

경   과: 00:00:00.01