Refigo Blog

<오라클 성능 고도화 원리와 해법2> Ch01-06 IOT, 클러스터 테이블 활용

오라클 성능 고도화 원리와 해법2 - Ch01-06 IOT, 클러스터 테이블 활용 (1) IOT란? 5절 (4)항에서 테이블 액세스 없이 인덱스만 읽고 처리하도록 튜닝하는 기법을 살펴보았다. Random 액세스가 발생하지 않도록 테이블을 아예 인덱스 구조로 생성하면 어떨까? 실제 오라클은 그런 식으로 테이블을 생성하는 방법을 제공하는 데, 이를 ‘...

<오라클 성능 고도화 원리와 해법2> Ch01-05 테이블 Random 액세스 최소화 튜닝

오라클 성능 고도화 원리와 해법2 - Ch01-05 테이블 Random 액세스 최소화 튜닝 4절에서 테이블 랜덤 액세스에 의한 부하 원리에 대해 자세히 설명하였다. 본절에서는 테이블 랜덤 액세스 최소화를 위한 튜닝 방안과 사례를 소개한다. (1) 인덱스 컬럼 추가 emp 테이블에 현재 PK 이외에 [deptno + job] 순으로 구성된 emp_...

<오라클 성능 고도화 원리와 해법2> Ch01-04 테이블 Random 액세스 부하

오라클 성능 고도화 원리와 해법2 - Ch01-04 테이블 Random 액세스 부하 SQL 튜닝, 그 중에서도 인덱스 원리를 공부하면서 누구나 두 번 놀라게 된다. 첫째로는 인덱스를 효과적으로 활용했을 때 쿼리 성능이 얼마나 빨라지는지를 느꼈을 때이고, 둘째로는 대량의 데이터를 인덱스를 통해 액세스할 때 쿼리 성능이 얼마나 느려지는지를 느꼈을 때다....

<오라클 성능 고도화 원리와 해법2> Ch01-03 다양한 인덱스 스캔 방식

오라클 성능 고도화 원리와 해법2 - Ch01-03 다양한 인덱스 스캔 방식 (1) Index Range Scan Index Range Scan은 그림1-4처럼 인덱스 루트 블록에서 리프 블록까지 수직적으로 탐색한 후에 리프 블록을 필요한 범위만 스캔하는 방식이다. B*Tree 인덱스의 가장 일반적이고 정상적인 형태의 액세스 방식이라고 할 수 있고...

<오라클 성능 고도화 원리와 해법2> Ch01-02 인덱스 기본 원리

오라클 성능 고도화 원리와 해법2 - Ch01-02 인덱스 기본 원리 B*Tree 인덱스를 정상적으로 사용하려면 범위 스캔 시작 지점을 찾기 위해 루트 블록부터 리프 블록까지의 수직적 탐색 과정을 거쳐야 한다. 만약 인덱스 선두 컬럼이 조건절에 사용되지 않으면 범위 스캔을 위한 시작점을 찾을 수 없어 옵티마이저는 인덱스 전체를 스캔하거나 테이블 전체...

Preview Image

<오라클 성능 고도화 원리와 해법2> Ch01-01 인덱스 구조

오라클 성능 고도화 원리와 해법2 - Ch01-01 인덱스 구조 (1) 범위 스캔 인덱스 구조를 설명하기에 앞서 “범위(Range)” 스캔의 의미를 살펴보자. 인덱스는 대용량 테이블에서 필요한 데이터만 빠르고 효율적으로 액세스할 목적으로 사용하는 오브젝트다. 테이블은 처음부터 끝까지 모든 레코드를 읽어야 완전한 결과 집합을 얻을 수 있지만, 인덱...

<오라클 성능 고도화 원리와 해법2> Ch01-00 인덱스 원리와 활용

오라클 성능 고도화 원리와 해법2 - Ch01-00 인덱스 원리와 활용 1절부터 3절까지는 인덱스를 이용한 튜닝 원리를 습득하기 위해 반드시 알아야 할 인덱스 기본 구조 및 다양한 스캔 방식을 설명한다. 4절부터 6절까지는 인덱스를 경유한 테이블 Random 액세스 부하 해소 원리를 다룬다. 4절에서는 대용량 데이터를 처리할 때 테이블 Random...

<오라클 성능 고도화 원리와 해법1> Ch06-08 I/O 효율화 원리

오라클 성능 고도화 원리와 해법1 - Ch06-08 I/O 효율화 원리 애플리케이션 측면에서 논리적인 I/O 요청 횟수를 최소화하는 것이 I/O 효율화 튜닝의 핵심 원리라고 했다. I/O 때문에 시스템 성능이 낮게 측정될 때 하드웨어적인 방법을 통해 I/O 성능을 향상시킬 수도 있다. RAW 디바이스, 비동기 I/O를 사용하거나 스트라이핑 방식을 ...

<오라클 성능 고도화 원리와 해법1> Ch06-07 Result 캐시

오라클 성능 고도화 원리와 해법1 - Ch06-07 Result 캐시 Result 캐시는 버퍼 캐시와는 달리 Shared Pool에 위치하지만 시스템 I/O 발생량을 최소화하는 데 도움이 되는 기능이므로 본 장에서 설명한다. DB 버퍼 캐시는 쿼리에서 자주 사용되는 블록들을 캐싱해두는 메모리 공간이다. DB 버퍼 캐시에 캐싱된 블록을 읽는 것도 때...

<오라클 성능 고도화 원리와 해법1> Ch06-06 RAC 캐시 퓨전

오라클 성능 고도화 원리와 해법1 - Ch06-06 RAC 캐시 퓨전 데이터베이스 동시 사용자가 많을 때 부하를 분산할 목적으로 시스템마다 다양한 데이터 분산 전략을 사용한다. 데이터베이스 서버간 복제 업무별 수직 분할 데이터 구분에 따른 수평 분할 1번은 여러 대의 데이터베이스 서버를 두고 각 서버에서 발생한 트랜잭션 데이터를 상...