메뉴 건너뛰기

SAP 한국 커뮤니티



인덱스(index)란 무엇인가?

sapjoy 2007.02.08 18:17 조회 수 : 747 추천:1

. 인덱스 생성
  
도입강의에서 인덱스란 어떤 것이며, 어떤 방식으로 동작하는지 충분히 학습하셨는지요?
 
아무리 인덱스가SQL문을 응답속도를 빠르게 한다고 해서 무조건 만드는 것이 아닙니다. 어떤 경우에는 잘못 생성되어서 테이블을 FULL SCAN하는 것보다 응답속도가 느리게 나오는 경우도 있습니다.
 
이번 절에서는 인덱스의 선정 시 고려되어야 될 절차 및 종류 등에 대해서 알아 보도록 하겠습니다.

1.1 인덱스 생성시 고려사항

* 인덱스의 적용대상  
  - 중, 대규모 테이블(6블럭 이상)
  - 대상 데이터의 10% 이내의 데이터 요구인 경우
  - 스캔의 범위를 줄이고자 할때
  - 정렬을 필요로 하는 경우
  - 테이블에 접근하지 않고 인덱스만으로 데이터 요구를 해결하고자 하는 경우

* 인덱스의 적용 시 고려사항  
  - 인덱스를 위한 추가적인 기억공간을 필요로 함.
  - 인덱스와 테이블 I/O수의 합계가 전체 테이블을 스캔하는 I/O수보다 적은 경우에만 성능향상에
    기여한다고 볼 수 있음.(손익분기점 : 10~15%)
  - 여러 칼럼을 결합하여 인덱스를 구성하는 경우 칼럼의 순서 중요
  - 입력, 삭제 혹은 인덱스 칼럼의 값을 수정하는 경우 인덱스 데이터도 변경되어야 하므로 그에
    따른 오버헤드도 고려할 것 → 테이블당 인덱스의 수는 4개 정도가 적당
  - 새로 추가된 인덱스는 기존 엑세스 경로에 영향을 미칠 수 있음.

* 인덱스의 적용 시 고려사항  
  - 크기가 5~6블럭 이상되는 테이블
  : 테이블의 크기가 5~6블럭 이하인 것은 인덱스를 만들지 않고 테이블을  FULL SCAN해도 무방합니다.
  - 무작위접근(Random Access)이 빈번한 테이블
  : 단순보관용이거나 전체조회용일 경우에는 인덱스를 생성하지 않습니다.
  - 특정범위/순서의 데이터조회가 필요한 테이블
  - Join의 연결고리가 되는 칼럼의 테이블
  - 참조무결성을 지정한 경우 연결고리가 되는 칼럼의 테이블

* 인덱스 대상 칼럼 선정 기준  

  - 인덱스를 생성하고자 하는 칼럼의 분포도는 10~15%를 넘지 않아야 한다.

     분포도 = 1/칼럼값의 종류 * 100            = 데이터별 평균 로우 수/테이블의 총 로우 수 *100

  - 인덱스 머지(Index Merge)
  : 일반적으로 가장 좋은 하나의 인덱스만 사용하는 것이 여러 개의 인덱스를 사용하는 것보다 유리

  - 결합인덱스(Composite Index)
  : 사용빈도 => 동등조건(=) 비교여부 → 분포도 → 자주 사용되는 정렬 순서

* e-abap님에 의해서 게시물 이동되었습니다 (2007-02-08 09:28)
* e-abap님에 의해서 게시물 복사되었습니다 (2007-03-01 12:46)
* e-abap님에 의해서 게시물 이동되었습니다 (2007-09-20 21:47)
번호 제목 글쓴이 날짜 조회 수
178 테이블 유지 보수뷰 사용설명 file abap퍼 2007.10.19 503
177 ALV레이아웃형태로엑셀받기 [16] file SARA 2007.10.12 507
176 유저에 맞는 날짜 포맷 세팅하는 코딩.. [12] file 지의 2007.09.28 1227
175 초보탈출! SAP ABAP 프로그래밍 [18] file 나침반친구 2007.03.22 662
» 인덱스(index)란 무엇인가? [5] file sapjoy 2007.02.08 747
173 IDOC자료입니다 [8] file skna 2007.09.20 375
172 Maintenance View(유지 보수뷰) 만드는 방법 [8] file SSong 2007.09.19 2105
171 Dump의 종류와 원인_해결 [14] file 소주와 막걸리 2007.09.08 290
170 Online 프로그램을 기본으로 ALV Control을 사용한 예제. [11] file 김정호 2007.09.07 516
169 abap 교육자료 [1] file 권장원 2007.09.07 180
168 상위필드의 입력값을 가지고 다음필드의 POSSIBLE ENTRY를 보여주는 LOGIC 입니다. [4] file 소주와 막걸리 2007.09.04 125
167 ABAP실습자료입니다 [5] file 권오윤 2007.09.04 267
166 Sap Note 활용법 [4] file LUCY 2007.09.04 2498
165 리포트 프로그램 전반적인 화면과 소스 그리고 설명입니다. [3] file SSong 2007.09.01 146
164 아밥 SQL 기초 자료 [7] file SSong 2007.08.30 273
163 ALV 템플릿 입니다.. [9] file wsj1122 2007.08.28 949
162 Screen_exits(EXIT, ENHANCEMENT, 확장) [15] file sapjoy 2007.04.03 587
161 TEXT ENHANCEMENT((EXIT, ENHANCEMENT, 확장) [7] file sapjoy 2007.04.03 273
160 FUNCTION EXIT(EXIT, ENHANCEMENT, 확장) [7] file sapjoy 2007.04.03 218
159 MENU_EXIT(EXIT, ENHANCEMENT, 확장) [7] file sapjoy 2007.04.03 260