예) SELECT /*+ FULL(t) */...... FROM big_table t WHERE cre_date >= '20050101';
예) /*+ HASH(table_name) */
예) /*+ CLUSTER(table_name) */
예) SELECT /*+ INDEX(s sales_pk) */.......... FROM sales s WHERE sale_date = '20051015'; SELECT /*+ INDEX(cust_v cust cname_idx) */...... FROM cust_v WHERE cust_name = 'TOMCAT';
여기서 cust_v는 cust테이블 액세스를 포함하고 있는 View이름이며, cname_idx는 cust 테이블의 cust_name컬럼에 대해 정의된 인덱스임.
옵티마이져가 실행계획을 수립할 때 지정한 인덱스는 제외하고, 다른 액세스 방법을 고려하도록 유도하는 힌트이다.
예) SELECT /*+ NO_INDEX(m member_pk) */.......... FROM member m WHERE member_id > 10200;
예) SELECT /*+ INDEX_ASC(a idx01) */........ FROM tab1 a WHERE col1 LIKE 'ABC%';
예) SELECT /*+ INDEX_DESC(a idx01) */........ FROM tab1 a WHERE col1 LIKE 'ABC%';
예) SELECT /*+ INDEX_COMBINE(e sal_bix hiredate_bix) */..... FROM emp e WHERE sal > 3000 AND hiredate < '20050715';
예) SELECT /*+ INDEX_FFS(table_name index_name) */......
이와 반대로 NO_INDEX_FFS 힌트에서 지정한 테이블의 인덱스에대해 '고속 전체 인덱스 스캔'방식을 제외한 다른 액세스 방법을 사용하도록 유도한다.
예) SELECT /*+ INDEX_JOIN(e SAL_BMP HIREDATE_IX) */ sal, hiredate FROM emp e WHERE hiredate < sysdate AND sal > 2000;
예) SELECT /*+ INDEX_SS(e emp_idx) */.... FROM emp e WHERE hiredate = sysdate
이와 반대로 NO_INDEX_SS 힌트는 힌트에서 지정한 테이블의 인덱스에 대해 스킵스캔을 제외한 다른 액세스 방법을 사용하도록 유도한다.
예) SELECT /*+ INDEX_SS_DESC(e ename_ix) */........ FROM employees e WHERE first_name = 'Steven';