본문 바로가기

정리3

CH1. 인덱스 원리와 활용 - 06. IOT,클러스터 테이블 활용 오라클은 테이블을 인덱스 구조로 생성할 수 있는 IOT (Index Organized Table)라고 부르는 기능을 제공합니다. create table [테이블명] (a number primary key, ...) organization index; 위와 같은 구문을 사용해서 생성할 수 있습니다. IOT 장점 & 단점 장점 인위적으로 클러스터링 팩터를 좋게 만드는 방법중 하나 Random 액세스가 아닌 Sequential 방식으로 데이터를 액세스. 넓은 범위 액세스 시 유리 선두 컬럼이 ‘=‘조건이 아니면 조회 대상 레코드들이 서로 흩어져 많은 스캔을 유발하지만 ,적어도 테이블 Random 액세느는 발생하지 않아 빠른 성능 제공 가능 PK인덱스를 위한 별도의 세그먼트를 생성하지 않아도 됨 단점 인덱스 분.. 2020. 3. 1.
CH01.인덱스 원리와 활용 - 05. 테이블 Random 액세스 최소화 튜닝 (1)인덱스 컬럼추가 기존에 사용하던 인덱스에 컬럼을 추가하는 것만으로도 성능향상에 큰 영향을 미칠 수 있습니다. 위 SQL을 위해 서비스번호 하나로 구성된 단일 컬럼인덱스 로밍렌탈_N2가 사용됐는데 테이블을 액세스 하는 단계에서만 265,957(=266968-1011)개의 블록 I/O가 발생했고 이는 전체 I/O의99.6퍼를 차지하는 수치입니다. 수행시간도 49초가 걸리고 있습니다. 266,476번의 테이블을 방문하는 동안 블록 I/O가 265,957개 발생한 것을 보면, 인덱스 클러스터링 팩터가 안좋은 것일 수 도 있습니다. 이 경우에는 테이블 Reorg하지 않는 한 어쩔 수 없습니다. 여기서 문제는 테이블을 총 266,476번 방문해지만 최종 결과집합에서는 1,909건 밖에 되지 않는다는 것입니다... 2020. 2. 28.
CH01.인덱스 원리와 활용 - 04. 테이블 Random 액세스 부하 이번에는 대량의 데이터를 처리할 때의 테이블 Random 액세스가 가장 큰 부하 요인으로 작용하는 원인을 자세히 설명하겠습니다. (1) 인덱스 ROWID에 의한 테이블 액세스 쿼리에서 참조되는 컬럼이 인덱스에 모두 포함되는 경우가 아니라면 인덱스 스캔 이후 '테이블 Random 액세스'가 반드시 일어나게 됩니다. 실행계획에서는 Table Access by index ROWID라고 표시됩니다. 물리적 주소? 논리적 주소? 인덱스에 저장돼 있는 rowid는 물리적 주소정보라고 일컬어지는데, 오브젝트 번호, 데이터파일 번호, 블록 번호 같은 물리적 요소들로 구성되어 있기 때문입니다. 하지만 보는 시각에 따라서는 논리적 주소정보라고 표현되기도 하는데 rowid가 물리적 위치정보로 구성되지만 인덱스에서 테이블 레.. 2020. 2. 26.