2014년 2월 2일 일요일

[ORACLE힌트간단사례]오라클힌트데이터정렬, order by 사용예, 오라클힌트와 order by, 구로디지털단지 오라클개발자전문교육실무교육,ORACLE실무교육, 실습위주 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 [출처] 오라클자바커뮤니티 - http://www.oraclejavanew.kr/bbs/board.php?bo_table=LecHINT&wr_id=106 자바 오라클/빅데이터 아이폰/안드로이드 닷넷/WPF 표준웹/HTML5 채용/취업무료교육 초보자코스 [기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 총 5일 40시간 02-05 [기업100%환급]Spring ,MyBatis,Hibernate실무과정 총 5일 40시간 02-24 자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지 총 24일 72시간 02-06 Spring3.X, MyBatis, Hibernate실무과정 총 12일 36시간 02-11 Spring3.X, MyBatis, Hibernate실무과정 총 5일 35시간 02-15 자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지 총 10일 70시간 02-15 [주말저녁]자바기초에서JSP,Servlet,Ajax,jQUERY,스프링,마이바티스,하이버네이트 총 18일 72시간 02-22 JAVA&WEB프레임워크실무과정 총 14일 98시간 03-08 [기업100%환급]SQL기초에서 Schema Object까지 총 5일 40시간 02-10 [기업100%환급]PL/SQL,ORACLE HINT,TUNING 총 5일 40시간 02-17 SQL초보에서실전전문가까지 총 18일 54시간 02-11 SQL초보에서실전전문가까지 총 8일 56시간 02-22 [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 [출처] 오라클자바커뮤니티 - http://www.oraclejavanew.kr/bbs/board.php?bo_table=LecHINT&wr_id=106

[ORACLE힌트간단사례]오라클힌트데이터정렬, order by 사용예, 오라클힌트와 order by, 구로디지털단지 오라클개발자전문교육실무교육,ORACLE실무교육, 실습위주

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 

댓글 없음:

댓글 쓰기