블로그 이미지
redkite

카테고리

분류 전체보기 (291)
00.SI프로젝트 산출물 (0)
00.센터 운영 문서 (0)
01.DBMS ============.. (0)
01.오라클 (117)
01.MS-SQL (15)
01.MySQL (30)
01.PostgreSql (0)
01.DB튜닝 (28)
====================.. (0)
02.SERVER ==========.. (0)
02.서버-공통 (11)
02.서버-Linux (58)
02.서버-Unix (12)
02.서버-Windows (2)
====================.. (0)
03.APPLICATION =====.. (11)
====================.. (0)
04.ETC =============.. (0)
04.보안 (5)
====================.. (0)
05.개인자료 (1)
06.캠핑관련 (0)
07.OA관련 (1)
Total
Today
Yesterday

달력

« » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

공지사항

최근에 올라온 글

인덱스 생성: Syntax
하나 또는 하나 이상의 Column에 인덱스를 생성

CREATE INDEX 인덱스
ON 테이블(Column[,Column]...);


♠예 :S_EMP테이블의 LAST_NAME Column에 대한 질의 액세스 속도를 빠르게 하기 위한 인덱스를 만드시오.

  SQL>CREATE INDEX s_emp_last_name_idx
2 ON s_emp(last_name);

Index created.



인덱스 생성:Guideline

  1. 인덱스를 만드는 때
  WHERE절이나 조인 조건에서 Column을 자주 이용할 때
  Column이 넓은 범위의 값을 가질때
  많은 NULL 값을 갖는 Column일 때
  테이블의 Data가 많고 그 테이블에서 Query되는 행의 수가 전체의 10-15%정도 일때

 2. 인덱스를 만들지 않아야 할 때
  테이블이 작을때
  Column이 질의의 조건으로 사용되는 경우가 별로 없을 때
  대부분의 질의가 행의 10-15% 이상을 검색한다고 예상될때
  테이블이 자주 변경될때

인덱스 확인
USER_INDEXES Dictionary 뷰는 인덱스의 이름과 Unique 여부를 가지고 있다.
USER_IND_COLUMNS 뷰는 인덱스 명, 테이블 명과 Column 명을 가지고 있다.

SQL> SELECT ic.index_name, ic.column_name
2 ic.column_position, ix.uniqueness
3 FROM user_indexes ix, user_ind_columns ic
4 WHERE ic.index_name = ix.index_name
5 AND table_name = 'S_EMP';


인덱스 확인
USER_INDEXES Dictionary 뷰에 인덱스가 있는지 확인하시오.
USER_IND_COLUMNS 뷰를 Query 하여 인덱스를 갖고 있는 Column을 확인할 수도 있다.
♠ 질의 예제 :S_EMP 테이블에서 이미 생성된 인덱스, 관련된 Column 명, Unique 여부를 Display 하라.


SQL> SELECT ic.index_name, ic.column_name
2 ic.column_position, ix.uniqueness
3 FROM user_indexes ix, user_ind_columns ic
4 WHERE ic.index_name = ix.index_name
5 AND table_name = 'S_EMP';

인덱스 삭제
인덱스를 삭제합니다.
SQL> DROP INDEX s_emp_list_name_idx;
Index dropped.

인덱스를 삭제하려면 그 인덱스의 소유자이거나 DROP ANY INDEX 권한을 가지고 있어야 한다.


Syntax
인덱스를 수정할 수는 없다.
인덱스를 변경하려면 삭제한 다음 다시 만들어야 한다.
INDEX 명령을 써서 인덱스를 삭제하라.
인덱스를 삭제하려면 그 인덱스의 소유자이거나 DROP ANY INDEX 권한을 가지고 있어야 한다.
DROP INDEX 인덱스;



CREATE INDEX IDX_ETL_LOG_ID ON ps_mom.etl_job_log_tbl(LOG_ID); -- PS_MOM 에 인덱스 추가(2010.12.03)

--CREATE INDEX IDX_RACLIENT ON RACLIENT(CERTI_CODE,STATUS_FLAG) --ONLINE; -- 국민 RA_CLIENT 테스트 인덱스 추가(2010.12.03)

 

Posted by redkite
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함