출처 : http://www.gurubee.net/pages/viewpage.action?pageId=2458051

1. 결합인덱스의 장점
  • 좋은 분포도 : 나쁜 분포도를 가진 column을 결합한 결합 인덱스가 더 좋은 분포도를 가질 수 있다.
  • 저장 공간의 효율성 : 한 질의에 의해 선택된 모든 칼럼이 결합인덱스에 있을 경우, table을 access하지 않고 결합 인덱스 만으로 원하는 값을 가져올 수 있다. 그러나 그만큼의 디스크나 메모리에 부하가 많이 걸릴 것이다.

    [예] select empno from emp where empno='123';  

    이 경우는 특별히 테이블을 access하지 않고 index만으로 해당값을 출력할수 있다. 따라서 검색속도가 비약적으로 빨라지는 효과를 볼 수 있습니다.  

2. 결합 인덱스의 column선택을 위한 지침
  • 각 column의 분포도 보다 결합 인덱스에서 결합된 분포도가 더 좋을 경우
  • 여러 질의에서 하나이상의 칼럼값을 가진 칼럼의 동일한 집합을 질의할 경우, 이들 모든 칼럼을 포함하는 결합 인덱스 생성을 고려한다.

3. 결합 인덱스 구성시 column순서 배치를 위한 지침  
  • WHERE절에 사용된 칼럼을 선행부분으로 만들기 위한 결합 인덱스를 생성
  • 칼럼의 일부가 WHERE절에서 자주 사용될 경우 =>자주 select되는 column을 선행부분올 만들어서 이 column만으로 인덱스를 사용할 수 있도록 한다.
  • 모든 칼럼이 WHERE절에서 동일하게 사용되면 =>질의 성능을 개선하기 위하여 CREATE INDEX statement에서 분포도가 좋은 순서대로 배열
  • 모든 칼럼이 WHERE절에서 동일하게 자주 사용되지만 데이터가 한 column에 대해 물리적으로 정렬되어 있으면 =>그 column을 결합 인덱스의 첫번째로 구성
  • ‘=’을 사용할 땐 선택범위가 좁은 것을 앞에 놓는다.

4. in을 이용한 access효율 향상. (in은 ‘=’의 의미를 가지고 있다.)

예) select * from tab1 where col1='a' and col2 between '111' and '112';
→select * from tab1 where col1='a' and col2 in('111', '112');

여기서 col2의 값이 적을수록 후자의 속도가 빨라진다. 물론 보통의 경우에도 후자가 빠르다.
일반적으로 between, like문이 들어가는 SQL문은 in문으로 대체해 준다.
 
5. 일부컬럼만 사용할 경우

만약 index가 (a+b+c)로 이루어져 있을 경우 where조건에서 a, a+b, a+c, a+b+c가 나오면 index적용이 가능 하지만, b, b+c가 나오면 index적용이 불가능하다. -> B*Tree에서 검색이 불가능 하기 때문에.. 따라서 결합인덱스의 첫 번째 컬럼이 꼭 나와야 index를 적용할 수가 있다. 아울러 대개의 결합인덱스는 최고 5개까지가 적당함. 그럼 간략히 정리를 해보겠습니다.


**
IN을 고려한 결합 인덱스의 선정

인덱스의 선정

인덱스 선정절차

대용량 INDEX 처리에 관한 SQL

Posted by ukmie
,
temporary tablespace 생성
create temporary tablespace temp1 tempfile '/oradata/orcl/temp01.dbf' size 1024M
-- autoextend on next 100M maxsize unlimited
-- extent management local uniform size 1M
;

디폴트로 지정
alter database default temporary tablespace temp1;

테이블스페이스 삭제
(디폴트로 지정된 경우 불가. 물리적 파일삭제는 사용중이 세션이 모두 끊겨야 가능.)
drop tablespace temp;

파일사이즈 변경
ALTER DATABASE TEMPFILE '/oradata/orcl/temp01.dbf' RESIZE 5120M;

증가옵션 설정
alter DATABASE TEMPFILE '/oradata/orcl/temp01.dbf' autoextend on next 20M maxsize 10240M ;


확인
select * from dba_temp_files;

Posted by ukmie
,
오라클에서도 많은 일들이 일어나고 있군요. TopQuadrant 사와 밀접한 관계인듯,.

Semantic 테크놀로지 센터
http://www.oracle.com/technology/global/kr/tech/semantic_technologies/index.html

Oracle Database 10g RDF 데이터 모델을 이용한 Semantic Web 애플리케이션의 개발

오라클의 서버 테크놀로지 담당 디렉터 Xavier Lopez, 테크니컬 스태프 수석 위원 Melliyal Annamalai가 오라클 오픈월드에서 발표한 프리젠테이션 자료로 Semantics 테크놀로지의 특성과 활용 분야, RDF에 대한 최신 정보 등을 소개하고 있습니다.





Posted by ukmie
,