반응형
오라클에서 인덱스는 테이블의 데이터 포인터를 의미하는데
책의 목차와도 같이 테이블에 인덱스를 넣어주면
조회 시 더 빠르게 조회 결과를 얻을 수 있다
테이블 안에 데이터가 몇백~몇천만 건이 넘어갈 경우에는
인덱스가 거진 필수라고 봐주면 되겠다
하지만 몇장 되지 않는 책에 목차가 별 의미가 없듯이
인덱스로 사용하는 컬럼에 NULL이 많이 들어갔거나
데이터가 적거나 혹은 삽입, 수정, 삭제가 자주 일어나는 테이블에는
인덱스를 지정할 경우 사용하지 않은 것보다
더 오랜 시간이 걸릴 수도 있으니
이에 주의해서 사용해줘야 한다
왜 인덱스를 사용해야 하는지에 대한 내용은
아래 글을 참고해 주면 되고
인덱스 사용방법은 아래와 같다
인덱스 생성
CREATE INDEX 인덱스명 ON 테이블명(컬럼명);
인덱스명은 임의로 설정해주면 된다
EX) IND_NAME
또한 테이블명(컬럼명, 컬럼명) 과 같이
한 테이블에 여러개의 인덱스를 지정 가능하다
인덱스 삭제
DROP INDEX 인덱스명
인덱스 수정의 경우에는
인덱스 삭제 후 다시 만들어주는 방법을 사용해야 한다
인덱스 조회는
SELECT TABLE_NAME, INDEX_NAME, COLUMN_NAME
FROM ALL_IND_COLUMNS
WHERE TABLE_NAME = '테이블명'
이러면 INDEX_NAME이 인덱스명
COLUMN_NAME이 인덱스에서 사용하는 컬럼이 되곘다
마지막으로 예제에 사용한 쿼리는 다음과 같다
-- 인덱스 생성
CREATE INDEX 인덱스명 ON 테이블명(컬럼명);
-- 인덱스 삭제
DROP INDEX 인덱스명;
-- 인덱스 조회
SELECT TABLE_NAME, INDEX_NAME, COLUMN_NAME
FROM ALL_IND_COLUMNS
WHERE TABLE_NAME = '테이블명';
반응형
'SQL > Oracle' 카테고리의 다른 글
오라클 테이블 이름 변경방법 (0) | 2021.04.12 |
---|---|
오라클 실행중인 쿼리 확인 및 강제 중지방법 (1) | 2021.03.11 |
오라클 스키마별 전체 테이블 행(ROW) 갯수 확인방법 (0) | 2021.02.01 |
오라클 PL/SQL IF ELSE 문 사용방법 정리 (0) | 2020.12.16 |
오라클 대소문자 구분 없이 조회 방법 (0) | 2020.12.15 |
댓글