myemp1 테입블에는 2천만건 정도의 데이터가 있고 테이블 구조는 다음과 같다.
SQL> desc myemp1
이름 널? 유형
----------------------------------------- -------- --------------
EMPNO NOT NULL NUMBER
ENAME VARCHAR2(100)
DEPTNO NUMBER
ADDR VARCHAR2(100)
SAL NUMBER
인덱스는 sal 컬럼에 만들어져 있다.
인덱스명 : idx_myemp1_sal
1. sal값만 추출하는 경우인데 sal로 내림차순 정렬(급여가 높은곳에서 낮은순서로)
-- 18초
select sal from myemp1
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
-- 0.02초
select sal from myemp1 where sal > 0
order by sal desc
idx_myemp1_sal 이용
이번에는 힌트를 사용해 보자. where sal > 0 이 꼭 필요하다.
없으면 힌트먹지 않음
-- 0초
select /*+ index_desc(myemp1 idx_myemp1_sal) */ sal from myemp1
where sal > 0
2. ename, sal 값을 추출하는 경우(ename은 인덱스 영역에는 없는 값이다)
-- 34초
select ename, sal from myemp1
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
--34초
select ename, sal from myemp1 where sal > 0
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
이번에는 힌트를 사용해 보자. where sal > 0 이 꼭 필요하다.
없으면 힌트먹지 않음
-- 0초
select /*+ index_desc(myemp1 idx_myemp1_sal) */ ename, sal from myemp1
where sal > 0
[ORACLE힌트간단사례]오라클힌트데이터정렬, order by 사용예
myemp1 테입블에는 2천만건 정도의 데이터가 있고 테이블 구조는 다음과 같다.
SQL> desc myemp1
이름 널? 유형
----------------------------------------- -------- --------------
EMPNO NOT NULL NUMBER
ENAME VARCHAR2(100)
DEPTNO NUMBER
ADDR VARCHAR2(100)
SAL NUMBER
인덱스는 sal 컬럼에 만들어져 있다.
인덱스명 : idx_myemp1_sal
1. sal값만 추출하는 경우인데 sal로 내림차순 정렬(급여가 높은곳에서 낮은순서로)
-- 18초
select sal from myemp1
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
-- 0.02초
select sal from myemp1 where sal > 0
order by sal desc
idx_myemp1_sal 이용
이번에는 힌트를 사용해 보자. where sal > 0 이 꼭 필요하다.
없으면 힌트먹지 않음
-- 0초
select /*+ index_desc(myemp1 idx_myemp1_sal) */ sal from myemp1
where sal > 0
2. ename, sal 값을 추출하는 경우(ename은 인덱스 영역에는 없는 값이다)
-- 34초
select ename, sal from myemp1
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
--34초
select ename, sal from myemp1 where sal > 0
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
이번에는 힌트를 사용해 보자. where sal > 0 이 꼭 필요하다.
없으면 힌트먹지 않음
-- 0초
select /*+ index_desc(myemp1 idx_myemp1_sal) */ ename, sal from myemp1
where sal > 0
myemp1 테입블에는 2천만건 정도의 데이터가 있고 테이블 구조는 다음과 같다.
SQL> desc myemp1
이름 널? 유형
----------------------------------------- -------- --------------
EMPNO NOT NULL NUMBER
ENAME VARCHAR2(100)
DEPTNO NUMBER
ADDR VARCHAR2(100)
SAL NUMBER
인덱스는 sal 컬럼에 만들어져 있다.
인덱스명 : idx_myemp1_sal
1. sal값만 추출하는 경우인데 sal로 내림차순 정렬(급여가 높은곳에서 낮은순서로)
-- 18초
select sal from myemp1
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
-- 0.02초
select sal from myemp1 where sal > 0
order by sal desc
idx_myemp1_sal 이용
이번에는 힌트를 사용해 보자. where sal > 0 이 꼭 필요하다.
없으면 힌트먹지 않음
-- 0초
select /*+ index_desc(myemp1 idx_myemp1_sal) */ sal from myemp1
where sal > 0
2. ename, sal 값을 추출하는 경우(ename은 인덱스 영역에는 없는 값이다)
-- 34초
select ename, sal from myemp1
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
--34초
select ename, sal from myemp1 where sal > 0
order by sal desc
인덱스를 이용하지 못하고 FULL SCAN
이번에는 힌트를 사용해 보자. where sal > 0 이 꼭 필요하다.
없으면 힌트먹지 않음
-- 0초
select /*+ index_desc(myemp1 idx_myemp1_sal) */ ename, sal from myemp1
where sal > 0
댓글 없음:
댓글 쓰기