Refigo Blog

<오라클 성능 고도화 원리와 해법2> Ch03-06 히스토그램

오라클 성능 고도화 원리와 해법2 - Ch03-06 히스토그램 (1) 히스토그램 유형 지금까지는 히스토그램이 없는 상황에서 옵티마이저가 선택도와 카디널리티를 구하는 원리를 주로 설명하였는데, 히스토그램이 있으면 더 정확한 카디널리티를 구할 수 있다. 특히, 분포가 균일하지 않은 컬럼으로 조회할 때 효과를 발휘한다. 오라클이 사용하는 히스토그램으로...

<오라클 성능 고도화 원리와 해법2> Ch03-05 카디널리티

오라클 성능 고도화 원리와 해법2 - Ch03-05 카디널리티 지금까지 옵티마이저 기본 원리와 통계 정보에 대해 살펴보았다. 지금부터는 데이터 딕셔너리에 저장된 통계 정보가 옵티마이저에 의해 구체적으로 어떻게 활용되는지 살펴볼 것이다. 5절(카디널리티), 6절(히스토그램), 7절(비용) 내용은 필자가 번역한 ‘비용 기반의 오라클 원리(원제: Cos...

<오라클 성능 고도화 원리와 해법2> Ch03-04 통계정보 1

오라클 성능 고도화 원리와 해법2 - Ch03-04 통계정보 1 실행 계획을 수립할 때 CBO는 SQL 문장에서 액세스할 데이터 특성을 고려하기 위해 통계 정보를 이용한다. 따라서 최적의 실행 계획을 위해서는 통계 정보가 데이터 상태를 정확하게 반영하도록 관리해 주어야 한다. 옵티마이저가 참조하는 통계 정보 종류로 아래 네 가지가 있다. 테...

<오라클 성능 고도화 원리와 해법2> Ch03-03 옵티마이저의 한계

오라클 성능 고도화 원리와 해법2 - Ch03-03 옵티마이저의 한계 앞서 옵티마이저 행동에 영향을 미치는 요소들에 대해 살펴봤는데, 강조하고자 하는 핵심은 옵티마이저가 절대 완벽할 수 없다는 것이다. 옵티마이저도 결국 사람이 만든 소프트웨어 엔진에 불과하며, 모든 프로그램이 업그레이드를 통해 조금씩 개선되듯 옵티마이저도 여러 가지 제약과 한계점들을...

<오라클 성능 고도화 원리와 해법2> Ch03-02 옵티마이저 행동에 영향을 미치는 요소

오라클 성능 고도화 원리와 해법2 - Ch03-02 옵티마이저 행동에 영향을 미치는 요소 옵티마이저 행동의 차이는 궁극적으로 실행 계획의 차이를 말하며, 실행 계획에 영향을 미치는 요소로는 아래와 같은 것들이 있다. (1) SQL과 연산자 형태 (2) 인덱스, IOT, 클러스터링, 파티셔닝, MV 등 옵티마이징 팩터 (3) 제약 설정: PK, FK...

<오라클 성능 고도화 원리와 해법2> Ch03-01 옵티마이저

오라클 성능 고도화 원리와 해법2 - Ch03 옵티마이저 원리 오라클 성능 고도화 원리와 해법2 - Ch03-01 옵티마이저 옵티마이저에 대한 기본 개념은 이미 1권 4장에서 설명했다. 1권에서는 주로 라이브러리 캐시 최적화 관점에서 옵티마이저를 다뤘지만, 이번 장에서는 옵티마이저를 중심 주제로 다루고 있다. 1권에서 설명한 내용을 상기해보면, ...