1581, 2/80 회원가입  로그인  
   kordokrip
   오라클 강의 index가 필요한 칼럼 및 인덱스 설계

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=2018 [복사]


1.WHRER절이나 join조건 안에서 자주 사용되는 칼럼

2.null 값이 많이 포함되어 있는 칼럼

3.WHRER절이나 Join조건에서 자주 사용되는 두 개 이상의 칼럼



1.인덱스 설계

1. PK는 기본적으로 유니크 인덱스 생성하여 각 로우에 접근할 때 속도를 빠르게 한다.

2. 시스템 구축이 완료된 이후에도 구축된 데이터베이스의 데이터는 지속적으로 증가하고 변형되기 때문에 각 상황에 적합하게 인덱스를 이용할 수 있도록 지속적으로 모니터일하여 조정해야 한다.

3.인덱스 대상 선정

- 대상 테이블 선정

PK 칼럼 인덱스 : PK 칼럼은 드시 인덱스를 사용하도로록 설계한다.

FK 칼럼 인덱스 : FK 컬럼에 인덱스가 걸려 있지 않으면 FK제약 때문에 작업을 진행할 때 풀 테이블 스캔이 발생.

- 인덱스 대상 컬럼 선정: Join에 이용되거나 order by, group by, distinct에서 이용되는 컬럼

또는 여러 갱의 칼럼이 항상 같이 이용되는 컬럼도 대상.



2.인덱스 최적화



인덱스 효율 검토

한 테이블에 인덱스 개수가 5개를 초과한 경우 테이블의 입력, 수정, 삭제가 자주 발생하는지 검증하고, 만약 자주 발생한다면 꼭 핖ㄹ요한 인덱스를 남기고 삭제하도록 한다.



인덱스 데이터타입 적용



데이터의 길이가 변하는 컬럼은 반드시 가변길이타입(varchar(2) 형식)을 사용. 데이터 타입이 날짜인 경우 date형식 보다는 varchar2(8)형식을 이용



- 인덱스 정렬

INDEX_DESC와 같은 힌트를 이용하여 SQL문장이 실행될 때 인덱스 순서를 역으로 바꾸어 처리하는 경우도 있지만, 만약 사용하는 유형이 역정렬 형태로 계속 이용된다면 힌트를 이용하지 않고 인덱스를 만들어 주는게 좋다. 여러개의 칼럼이 항상 같이 이용되는 컬럼도 대상이 된다. 이때는 결합 인덱스를 생성한다. 결합 인덱스를 생성할 때는 인덱스의 순서에 따라 성능에 영향을 미친다. 결합 인덱스 앞쪽에 오는 컬럼이 범위를 줄이 수 있는 것이 올 수 있도록 설계한다.

앞쪽에 위치할 수 있는 컬럼은 항상 사용되어야 하며, 가능하면 '='로 비고되도록 하고 분포도가 좋은 칼럼이 되도록 선정한다. 참고로 A,B,C 칼럼이 결합 인덱스로 선정되었지만 SQL 문장이 WHERE 절에서 B와 C에 상수값이 들어오고 A값은 들어오지 않는다면 인덱스를 사용되자 않는다. 하지만 A와B 값이 들어오고, C에 값이 들어오지 않는다면 인덱스는 사용될 수 있다.

  Hit : 8801     Date : 2012/06/21 04:32



    
1561   우분투에서 무선랜 잡기[3]     lee73mu
02/01 8393
1560   우분투 설치하고 난 뒤 유용한 유틸[9]     kcm4482
01/03 8257
1559   우분투 리눅스에서 C 언어 하기     kevin0960
08/06 7936
1558   우분투 파티션 설정 방법입니다.[1]     libera826
12/25 5370
1557   완전 생초짜인데........어디서부터시작해야될까요.[4]     MSIN인텔
12/26 6626
1556   오버클럭킹의 원리[11]     컨티뉴
10/09 10288
1555   오라클 강의 시스템 모니터 백그라운드 프로세서     kordokrip
06/21 6394
1554   오라클 강의 트랜젝션이 진행되는 과정에서 발생할 수 있는 wait      kordokrip
06/21 6966
1553   오라클 강의 SMON 기능 및 수행     kordokrip
06/21 6963
  오라클 강의 index가 필요한 칼럼 및 인덱스 설계      kordokrip
06/21 8800
1551   오라클 Undo와 Redo의 차이점      kordokrip
06/21 7215
1550   오라클 Enterprise Edition Release 8.0[6]     netwow1
12/14 14028
1549   온라인 스터디 -알고리즘 및 c언어등 보안공부의 기초부터 함께 하실분[2]     hackcorps
09/26 6606
1548   오프라인 스터디의 성과물 1. 스택[6]     windowhan
10/03 7084
1547   씨언어     phan_tom1
11/18 7203
1546   아글구요[3]     dldvk9999
10/11 37435
1545   아직도...     dhuh
03/02 8029
1544   아주 짧은 지식전달. 바이러스 계열을 알아보자 !![7]     푸른하늘
01/14 7328
1543   아이티 보안 카페[2]     playground
02/25 6277
1542   아이폰이나 안드로이드는 어떤 방식으로 해킹이 이루어지는건가요?[4]     츠키코
10/14 7814
[1] 2 [3][4][5][6][7][8][9][10]..[80]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com