인덱스
- 데이터베이스 성능과 관련해서 매우 중요한 역할을 담당하는 오라클 객체
- Database Buffer Cache : 물리적인 디스크 파일에 저장된 실 데이터를 임시적으로 메모리에 복사 저장
비어있는 상태로 시작됐다가 이후 사용자의 요청에 의해서 필요한 데이터를 물리적인 파일
에서 가져와 임시적으로 저장하게 된다. - 물리적인 파일을 접근한다는 것은 파일 입출력이 발생되는 것으로서 데이터베이스 수행속도에 큰 영향을 미치게 된다.
- 많이 사용되는 데이터는 Database Buffer Cache에 저장해두고
- 자주 사용되지 않은 데이터는 디스크 파일에 저장했다가 필요할 때 Database Buffer Cache에 복사해서 쓴다.
- Database Buffer Cache에 필요한 데이터가 없어서 디스크 파일에서 찾을 때, 모든 블록(block)을 검색해야 하는데 이것을 Table Full Scan 이라고 하고, 매우 많은 시간이 걸리게 된다.
블록(block)
- 각 블록에는 고유한 블록 아이디 (block id)와 고유한 행 번호(row id)가 부여된다.
- 필요한 데이터를 빨리 찾는 방법은 그 데이터가 저장된 블록 아이디와 행 번호를 이용해서 직접 접근하는 방법 (index Scan) 이다.
ROWID
실 데이터가 저장된 주소 정보
- 파일 정보
- 테이블 정보
- 블록 정보
- 행 정보
인덱스
ROWID 값을 저장하고 있는 오라클 객체
인덱스 객체가 ROWID 값을 관리하여 데이터를 빠르게 검색한다.
Index Scan
ROWID 정보를 사용해서 필요한 데이터를 검색하는 방법
1. B 트리 인덱스
빈번하게 트랜잭션(Transaction)이 발생되는 OLTP(OnLine Transaction Processing)환경에 적합
2. 인덱스 생성
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블( 컬럼[,컬럼] );
3. 인덱스 삭제
DROP INDEX 인덱스명;
'DB > SQL' 카테고리의 다른 글
SQL - 뷰, 시퀀스, 시노님 (0) | 2023.08.01 |
---|---|
SQL - 테이블 변경 / 데이터 사전 (0) | 2023.08.01 |
SQL - DDL (0) | 2023.07.31 |
SQL - DML (0) | 2023.07.31 |
SQL - 다중 컬럼 서브쿼리 / 인라인 뷰 (0) | 2023.07.30 |
인덱스
- 데이터베이스 성능과 관련해서 매우 중요한 역할을 담당하는 오라클 객체
- Database Buffer Cache : 물리적인 디스크 파일에 저장된 실 데이터를 임시적으로 메모리에 복사 저장
비어있는 상태로 시작됐다가 이후 사용자의 요청에 의해서 필요한 데이터를 물리적인 파일
에서 가져와 임시적으로 저장하게 된다. - 물리적인 파일을 접근한다는 것은 파일 입출력이 발생되는 것으로서 데이터베이스 수행속도에 큰 영향을 미치게 된다.
- 많이 사용되는 데이터는 Database Buffer Cache에 저장해두고
- 자주 사용되지 않은 데이터는 디스크 파일에 저장했다가 필요할 때 Database Buffer Cache에 복사해서 쓴다.
- Database Buffer Cache에 필요한 데이터가 없어서 디스크 파일에서 찾을 때, 모든 블록(block)을 검색해야 하는데 이것을 Table Full Scan 이라고 하고, 매우 많은 시간이 걸리게 된다.
블록(block)
- 각 블록에는 고유한 블록 아이디 (block id)와 고유한 행 번호(row id)가 부여된다.
- 필요한 데이터를 빨리 찾는 방법은 그 데이터가 저장된 블록 아이디와 행 번호를 이용해서 직접 접근하는 방법 (index Scan) 이다.
ROWID
실 데이터가 저장된 주소 정보
- 파일 정보
- 테이블 정보
- 블록 정보
- 행 정보
인덱스
ROWID 값을 저장하고 있는 오라클 객체
인덱스 객체가 ROWID 값을 관리하여 데이터를 빠르게 검색한다.
Index Scan
ROWID 정보를 사용해서 필요한 데이터를 검색하는 방법
1. B 트리 인덱스
빈번하게 트랜잭션(Transaction)이 발생되는 OLTP(OnLine Transaction Processing)환경에 적합
2. 인덱스 생성
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블( 컬럼[,컬럼] );
3. 인덱스 삭제
DROP INDEX 인덱스명;
'DB > SQL' 카테고리의 다른 글
SQL - 뷰, 시퀀스, 시노님 (0) | 2023.08.01 |
---|---|
SQL - 테이블 변경 / 데이터 사전 (0) | 2023.08.01 |
SQL - DDL (0) | 2023.07.31 |
SQL - DML (0) | 2023.07.31 |
SQL - 다중 컬럼 서브쿼리 / 인라인 뷰 (0) | 2023.07.30 |