> 대용량데이터베이스솔루션

제 4장 인덱스 수립 전략 4.1 인덱스의 선정 기준 4.1.1 테이블 형태별 적용기준 가) 적은 데이터를 가진 소형 테이블 - DB_FILE_MULTIBLOCK_READ_COUNT 값 이하 블록 크기의 테이블 - 한번의 멀티블럭 I/O에 의해 인덱스 없이 전체 테이블 스캔 가능 - 다른 테이블들과 연결될 경우 인덱스 유무는 옵티마이저에 영향 - 특히 조인에서 내측루프로 수행되면 작은 테이블이라도 인덱스가 없으면 심각한 문제 발생 가능 나) 주로 참조되는(Referenced) 역할을 하는 중대형 테이블 - 트랜잭션 데이터의 행위 주체, 목적이 되는 개체들로 구성이 된 테이블(키 엔터티 집합, ‘고객’ 등) - 데이터 증감이 적고 검색 위주의 액세스 발생, 검색 조건의 형태가 고정적 - 블록 내 최대한 조..
제 4장 인덱스 수립 전략 4.1 인덱스의 선정 기준 4.1.1 테이블 형태별 적용기준 가) 적은 데이터를 가진 소형 테이블 - DB_FILE_MULTIBLOCK_READ_COUNT 값 이하 블록 크기의 테이블 - 한번의 멀티블럭 I/O에 의해 인덱스 없이 전체 테이블 스캔 가능 - 다른 테이블들과 연결될 경우 인덱스 유무는 옵티마이저에 영향 - 특히 조인에서 내측루프로 수행되면 작은 테이블이라도 인덱스가 없으면 심각한 문제 발생 가능 나) 주로 참조되는(Referenced) 역할을 하는 중대형 테이블 - 트랜잭션 데이터의 행위 주체, 목적이 되는 개체들로 구성이 된 테이블(키 엔터티 집합, ‘고객’ 등) - 데이터 증감이 적고 검색 위주의 액세스 발생, 검색 조건의 형태가 고정적 - 블록 내 최대한 조..
3.3 실행계획의 제어 3.3.1 힌트(Hint)의 활용 기준 3.3.2 최적화 목표(Goal) 제어 힌트 - ALL_ROWS : 쿼리 전체 결과를 모두 수행하는 것에 대한 최적화를 목표로 최저 비용의 실행계획을 수립하도록 유도 : Minimum total resource consumption - CHOOSE : SQL에서 액세스하는 테이블에 대한 통계정보 유무에 따라 규칙, 비용기준을 적용하여 최적화를 수행 : CHOOSE 모드에서 테이블의 통계정보를 참조할 수 있는 경우는 ALL_ROWS 방식으로 처리 - FIRST_ROWS : 최적 응답시간(Best response time)을 목표로 최저 비용의 실행계획을 수립하도록 유도 : Minimum resource usage to return first t..
3.2 실행계획의 유형 3.2.1 스캔의 기본유형 3.2.1.1 전체 테이블 스캔 - 옵티마이저가 전체 테이블 스캔을 사용하는 경우 * 적용가능 인덱스의 부재 : 쿼리가 존재하는 인덱스를 전혀 사용할 수 없을 때. 경우에 따라 인덱스 스킵 스캔이 적용되면 인덱스 사용가능 * 넓은 범위의 데이터 액세스 : 처리 범위가 넓어서 전체 테이블 스캔이 보다 적은 비용이 든다면 인덱스 스캔을 포기할 수 있음 * 소량의 테이블 액세스 : 최고수위 표시 내 블록이 DB_FILE_MULTIBLOCK_READ_COUNT 내에 있다면 발생 가능 * 병렬처리 액세스 : 병렬처리로 수행되는 실행계획을 수립할 때는 항상 전체 테이블 스캔을 선택 * ‘FULL’ 힌트를 적용했을 때 : 쿼리 내에서 ‘FULL(table_alias)..
제 3장 SQL의 실행계획(Explain Plan) 3.1 SQL과 옵티마이저 3.1.1 옵티마이저와 우리의 역할 Optimizer : 다양한 사용자 요구에 따라 그 때마다 최적의 경로(처리 절차)를 찾아 주는 장치 3.1.2 옵티마이저의 형태 - 규칙기준 옵티마이저(RBO, Rule-Based Optimizer) * 인덱스 구조나 사용 연산자에 부여된 순위로써 최적 경로 결정 * 통계정보를 전혀 가지지 않음 * 경우에 따라 비현실적인 처릭경로 수림 * 수립될 처리경로 예측 가능 * 사용자가 원하는 처리경로로 유도하기가 용이 * 일반적인 보편타당성 있음 - 비용기준 옵티마이저(CBO, Cost-Based Optimizer) * 통계정보로 실제 비용을 계산하여 최소 비용 선택 * 데이터의 상태에 따른 현실..
제 2장 인덱스의 유형과 특징 2.1. B-Tree index 2.1.1. B-Tree index의 구조 - Root/Branch/Leaf Block으로 나누어져 있음 - Rowid의 구조 * Data Obbject number : database segment 식별 정보 * Relative File number : tablespace에 상대적 datafile 번호 * Block number : Row를 포함하는 data block 번호 * Row number : block에서의 row의 slot - 인덱스 블록의 감소 전략 * 최대한 인덱스 컬럼 수를 줄인다 * 큰 블록 사이즈(DB_BLOCK_SIZE)를 지정한다 * RCTFREE를 가능한 최소로 정의한다 * 키 압축(Key compression)을 ..
mewoni
'> 대용량데이터베이스솔루션' 카테고리의 글 목록