[Oracle DB] 인덱스 (INDEX)

방용환·2023년 5월 10일
0
post-thumbnail

1. 인덱스 (INDEX)

1. 인덱스 (INDEX)

  • 인덱스 (INDEX) : 테이블에 저장된 행을 보다 빠르게 검색하기 위한 기능을 제공하는 객체
  • 컬럼에 인덱스를 설정하면 인덱스 영역을 생성하여 검색 관련 정보를 저장해 컬럼에 대한 행 검색 속도 증가
  • 조건식에서 많이 사용하는 컬럼에 인덱스를 설정하며 행이 많을 때 인뎃르를 설정하는 것이 효율적
  • USER_INDEXES : 인덱스 정보를 제공하는 딕셔너리
  • USER_IND_COLUMNS : 컬럼에 설정된 인덱스

2. 유니크 인덱스 (UNIQUE INDEX)

  • 유니크 인덱스 (UNIQUE INDEX) : PRIMARY KEY 제약조건이나 UNIQUE 제약조건에 의해 자동 생성되는 인덱스

3. 비유니크 인덱스 (NON-UNIQUE INDEX)

  • 비유니크 인덱스 (NON-UNIQUE INDEX) : 사용자가 컬럼에 수동으로 인덱스를 생성하여 설정하는 인덱스

4. 비유니크 인덱스 생성

CREATE INDEX 인덱스 ON 테이블명(컬럼명)

5. 인덱스 삭제

  • 유니크 인덱스는 PRIMARY KEY 제약조건이나 UNIQUE 제약조건을 삭제하면 같이 삭제 처리
DROP INDEX 인덱스명

2. 동의어 (SYNONYM)

1. 동의어 (SYNONYM)

  • 동의어 (SYNONYM) : 오라클 객체에 다른 이름을 부여하여 사용하기 위한 객체
  • 전용 동의어 : 특정 사용자만 사용할 수 있는 동의어 (일반 사용자에 의해 관리)
  • 공용 동의어 : 모든 사용자가 사용할 수 있는 동의어 (관리자에 의해 관리)
  • USER_TABLES : SYS 계정에 의해 생성된 뷰
  • USER_SYNONYMS : 동의어 정보를 제공하는 딕셔너리

2. 동의어 생성

CREATE [PUBLIC] SYSNONYM 동의어 FOR 객체명
  • PUBLIC : 공용 동의어를 생성하기 위한 키워드

3. 동의어 삭제

CREATE [PUBLIC] SYSNONYM 동의어

4. 실례

SELECT TABLE_NAME FROM SYS.USER_TABLES;
SELECT TABLE_NAME FROM USER_TABLES;
SELECT TABLE_NAME FROM TABS;
  • 전부 동일한 결과가 나옴

0개의 댓글