[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
[개강임박강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/25]Spring3.X, MyBatis, Hibernate실무과정
[11/25]안드로이드개발자과정
[11/25]iPhone 하이브리드 앱 개발 실무과정
[12/02][기업100%환급]Spring3.X,MyBatis,PL/SQL,Oracle Hint
[12/09]초보자를위한실전SQL
[평일야간]
[11/22]자바초보에서안드로이드까지
[11/26]JAVA&WEB프레임워자실무과정
[11/26]iPhone하이브리드앱개발실무과정
[11/26]웹퍼블리싱 마스터
[11/27]SQL초보에서실전전문가까지
[11/28]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/23]JAVA&WEB프레임워크실무과정
[11/23]웹퍼블리싱 마스터
[11/23]C#,ASP.NET마스터
[11/30]SQL초보에서전문가까지
[11/30]Spring3.X,MyBatis,Hibernate실무과정
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/25]Spring3.X, MyBatis, Hibernate실무과정
[11/25]안드로이드개발자과정
[11/25]iPhone 하이브리드 앱 개발 실무과정
[12/02][기업100%환급]Spring3.X,MyBatis,PL/SQL,Oracle Hint
[12/09]초보자를위한실전SQL
[평일야간]
[11/22]자바초보에서안드로이드까지
[11/26]JAVA&WEB프레임워자실무과정
[11/26]iPhone하이브리드앱개발실무과정
[11/26]웹퍼블리싱 마스터
[11/27]SQL초보에서실전전문가까지
[11/28]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/23]JAVA&WEB프레임워크실무과정
[11/23]웹퍼블리싱 마스터
[11/23]C#,ASP.NET마스터
[11/30]SQL초보에서전문가까지
[11/30]Spring3.X,MyBatis,Hibernate실무과정
댓글 없음:
댓글 쓰기