2024. 4. 7. 18:58ㆍDBMS/ORACLE Admin
■ 인덱스
인덱스는 테이블 행의 특정 값과 특정 칼럼의 정렬된 값을 결합하여 목록화하여 정렬해 놓은 칼럼의 각각의 값을 찾고 해당ROWID를 참조한 데이터 블록에서 해당 데이터를 찾는다. 가장 일반적인 인덱스의 구조는 B-Tree 구조이다.
기본 키(Primary Key) 는 테이블이 생성되면 자동으로 인덱스를 생성하면서 기본 키를 검색 조건으로 하면 다른 칼럼을 검색 조건으로 하는 것보다 빠른 결과를 보여준다.
인덱스는 키 필드만 갖고 있고 테이블의 다른 세부 항목들은 갖고 있지 않기 때문에 인덱스를 저장 하는 데 필요한 디스크 공간은 테이블을 저장하는 데 필요한 디스크 공간보다 작다.
다.
관계형 데이터베이스에서 인덱스는 테이블 일부분에 대한 사본으로 볼 수 있다.
데이터베이스의 성능을 향상시키고 행(ROW)의 유일성을 보장하기 위해 사용되지만 잘못된 인덱스는 데이터베이스의 성능을 오히려 저하시킨다
■ 인덱스를 생성하여야 하는 경우
- SQL 문에서 칼럼이 WHERE 절 또는 JOIN의 조건에서 자주 사용될 때
- 칼럼에 광범위한 값이 포함될 때
- 칼럼에 많은 수의 NULL 값을 포함할 때
- 대형 테이블이고 대부분의 질의가 10~15% 이하로 읽어들일 것으로 예상할 때
■ 인덱스를 생성하지 않아야 하는 경우
- 테이블에 자료의 양(행의 수)이 적을 때
- 칼럼이 WHERE 조건으로 자주 사용되지 않을 때
- 질의 대부분이 10~15% 이상 읽어들일 것으로 예상할 때
- 테이블이 자주 삽입, 수정, 삭제될 때
'DBMS > ORACLE Admin' 카테고리의 다른 글
a-rows 컬럼이 나오지 않을 때 (0) | 2024.04.19 |
---|---|
HIDDEN PARAM (0) | 2024.04.19 |
RETENTION GUARANTEE (0) | 2024.03.14 |
big file tablespace (0) | 2024.03.13 |
Data Guard 구성 생성 (0) | 2024.03.13 |