<오라클 성능 고도화 원리와 해법2> Ch03-08 통계정보 2
오라클 성능 고도화 원리와 해법2 - Ch03-08 통계정보 2 (1) 전략적인 통계수집 정책의 중요성 지금까지 설명한 카디널리티와 비용 계산식의 세부 사항을 항상 기억할 필요는 없다. 다만, 그 원리를 이해함으로써 통계정보 수집이 얼마나 중요한지 깨닫는 것이 매우 중요하다. 4절 ‘통계정보 1’에서 개발자를 대상으로 통계정보의 기본 개념을 설명...
오라클 성능 고도화 원리와 해법2 - Ch03-08 통계정보 2 (1) 전략적인 통계수집 정책의 중요성 지금까지 설명한 카디널리티와 비용 계산식의 세부 사항을 항상 기억할 필요는 없다. 다만, 그 원리를 이해함으로써 통계정보 수집이 얼마나 중요한지 깨닫는 것이 매우 중요하다. 4절 ‘통계정보 1’에서 개발자를 대상으로 통계정보의 기본 개념을 설명...
오라클 성능 고도화 원리와 해법2 - Ch03-07 비용 오라클 옵티마이저가 사용하는 비용 모델에는 I/O 비용 모델과 CPU 비용 모델 두 가지가 있다. I/O 비용 모델은 예상되는 I/O 요청(Call) 횟수만을 쿼리 수행 비용으로 간주해 실행 계획을 평가하는 반면 CPU 비용 모델은 여기에 시간 개념을 더해 비용을 산정한다. 비용 모델을 선택...
오라클 성능 고도화 원리와 해법2 - Ch03-06 히스토그램 (1) 히스토그램 유형 지금까지는 히스토그램이 없는 상황에서 옵티마이저가 선택도와 카디널리티를 구하는 원리를 주로 설명하였는데, 히스토그램이 있으면 더 정확한 카디널리티를 구할 수 있다. 특히, 분포가 균일하지 않은 컬럼으로 조회할 때 효과를 발휘한다. 오라클이 사용하는 히스토그램으로...
오라클 성능 고도화 원리와 해법2 - Ch03-05 카디널리티 지금까지 옵티마이저 기본 원리와 통계 정보에 대해 살펴보았다. 지금부터는 데이터 딕셔너리에 저장된 통계 정보가 옵티마이저에 의해 구체적으로 어떻게 활용되는지 살펴볼 것이다. 5절(카디널리티), 6절(히스토그램), 7절(비용) 내용은 필자가 번역한 ‘비용 기반의 오라클 원리(원제: Cos...
오라클 성능 고도화 원리와 해법2 - Ch03-04 통계정보 1 실행 계획을 수립할 때 CBO는 SQL 문장에서 액세스할 데이터 특성을 고려하기 위해 통계 정보를 이용한다. 따라서 최적의 실행 계획을 위해서는 통계 정보가 데이터 상태를 정확하게 반영하도록 관리해 주어야 한다. 옵티마이저가 참조하는 통계 정보 종류로 아래 네 가지가 있다. 테...
오라클 성능 고도화 원리와 해법2 - Ch03-03 옵티마이저의 한계 앞서 옵티마이저 행동에 영향을 미치는 요소들에 대해 살펴봤는데, 강조하고자 하는 핵심은 옵티마이저가 절대 완벽할 수 없다는 것이다. 옵티마이저도 결국 사람이 만든 소프트웨어 엔진에 불과하며, 모든 프로그램이 업그레이드를 통해 조금씩 개선되듯 옵티마이저도 여러 가지 제약과 한계점들을...
오라클 성능 고도화 원리와 해법2 - Ch03-02 옵티마이저 행동에 영향을 미치는 요소 옵티마이저 행동의 차이는 궁극적으로 실행 계획의 차이를 말하며, 실행 계획에 영향을 미치는 요소로는 아래와 같은 것들이 있다. (1) SQL과 연산자 형태 (2) 인덱스, IOT, 클러스터링, 파티셔닝, MV 등 옵티마이징 팩터 (3) 제약 설정: PK, FK...
오라클 성능 고도화 원리와 해법2 - Ch03 옵티마이저 원리 오라클 성능 고도화 원리와 해법2 - Ch03-01 옵티마이저 옵티마이저에 대한 기본 개념은 이미 1권 4장에서 설명했다. 1권에서는 주로 라이브러리 캐시 최적화 관점에서 옵티마이저를 다뤘지만, 이번 장에서는 옵티마이저를 중심 주제로 다루고 있다. 1권에서 설명한 내용을 상기해보면, ...
오라클 성능 고도화 원리와 해법2 - Ch02-08 고급 조인 테크닉 (1) 누적 매출 구하기 우선 아래와 같이 월별 지점 매출 테이블을 만들어보자(스크립트 ch2_11.txt 참조) create table 월별지점매출 as select deptno as "지점", row_number() over (partition by deptno...
이 게시글은 Lex Fridman Podcast의 Script 내용과 이를 번역한 글입니다. 원본 영상: Marc Raibert: Boston Dynamics and the Future of Robotics | Lex Fridman Podcast #412 Introduction [1] So BigDog became LS3, which is...