3-5. 고급 SQL 튜닝

고급 SQL 활용 소스 튜닝 DML 튜닝 파티션 활용 배치 프로그램 튜닝   . 소트와 관련된 오퍼레이션 유형 – Sort Aggregate: 전체 로우를 대상으로 집계를 수핼할 때 나타나며, Oracle 실행계획에 sort라는 표현이 사용됐지만 실제 소트가 발생하진 않는다. – Sort Order By: 정렬된 결과집합을 얻고자 할 때 나타난다. – Sort Group By: Sorting 알고리즘을 사용해 그룹별

3-4. 인덱스와 조인

인덱스 기본원리 인덱스 튜닝 조인 기본 원리 고급 조인 기법   . Index Range Scan – 인덱스 루트 블록에서 리프 블록까지 수직적으로 탐색한 후에 리프 블록을 필요한 범위(Range)만 스캔하는 방식   . Index Skip Scan – 루트 또는 브랜치 블록에서 읽은 칼럼 값 정보를 이용해 조건에 부합하는 레코드를 포함할 “가능성이 있는” 하위 블록(브랜치 또는 리프블록)만

2-2. SQL 활용

  1. 표준 조인 2. 집합 연산자 3. 계층형 질의와 셀프 조인 4. 서브 쿼리 5. 그룹 함수 6. 윈도우 함수 7. DCL 8. 절차형 SQL =================================================   . 순수 관계 연산자와 SQL 문장 비교 – SELECT 연산은 WHERE 절로 구현 – PROJECT 연산은 SELECT 절로 구현 – (NATURAL) JOIN 연산은 다양한 JOIN 기능으로 구현

3-3. 옵티마이저 원리

옵티마이저 쿼리변환   . 규칙기반 옵티마이저(Rule-Based Optimizer, RBO) – 휴리스틱(Heuristic) 옵티마이저 – 미리 정해 놓은 규칙에 따라 액세스 경로를 평가하고 실행계획을 선택 – 규칙은 액세스 경로별 우선순위로서, 인덱스 구조, 연산자, 조건절 형태가 순위로 결정짓는 주요인이다.   . 선택도 > 카디널리티 > 비용 > 액세스 방식, 조인 순서, 조인 방법 등 결정   . 카디널리티 –

3-2. Lock과 트랙잰셕 동시성 제어

Lock 트랜잭션 동시성제어   . Lock에 의한 성능저하를 최소화하는 방안 트랜잭션의 원자성을 훼손하는 않는 선에서 트랜잭션을 가능한 짧게 정의 같은 데이터를 갱신하는 트랙잭션이 동시에 수행되지 않도록 설계 주간에 대용량 갱신 작업이 불가피하다면, 블로킹 현상에 의해 사용자가 무한정 기다리지 않도록 적절한 프로그래밍 기법 도입 트랜잭션 격리성 수준을 불필요하게 상향 조정하지 않을 것 트랜잭션을 잘 설계하고 대기

3-1. 아키텍처 기반 튜닝 원리

1. 데이터베이스 아키텍처 2. SQL 파싱 부하 3. 데이터 베이스 Call과 네트워크 부하 4. 데이터베이스 I/O 원리 ============================   . 전용 서버(Deficated Server) / 공유 서버(Shared Server) – 클라이언트가 서버 프로세스와 연결하는 Oracle   . 세그먼트 – 테이블, 인덱스, Undo 처럼 저장공간을 필요로 하는 데이터베이스 오브젝트이다. – 저장공간을 필요로 한다는 것은 한 개 이상의 익스텐트를

2-3. SQL 최적화 기본

1. 옵티마이저와 실행계획 2. 인덱스 기본 3. 조인 수행 원리 =======================================================   . Sort Merger Join – 조인 칼럼을 기준으로 데이터를 정렬하여 조인을 수행한다. – NL Join은 주로 랜덤 엑세스 방식으로 데이터를 읽는 반면 Sort Merge Join은 주로 스캔 방식으로 데이터를 읽는다. – Sort Merge Joind은 랜덤 액세스로 NL Join에서 부담이 되던 넒은 범위의 데이터를

2-1. SQL 기본

  1. 관계형 데이터베이스 2. DDL(Data Definition Language): 데이터 정의어 3. DML(Data Manipulation Language): 데이터 조작어 4. TCL 5. WHERE절 6. 함수 7. Group By, Having 절 8. Order By 절 9. JOIN ==========================================================   . 데이터 제어어(DCL: Data Control Language) – 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어   . 테이블 컬럼 정의

1-2. 데이터 모델과 성능

  1. 성능 데이터 모델링의 개요 2. 정규화와 성능 3. 반정규화와 성능 4. 대량 데이터에 따른 성능 5. 데이터베이스 구조와 성능 6. 분산 데이터베이스와 성능 =========================================================   . 성능데이터모델링 – 데이터베이스 성능 향상 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는것   . 1차 정규화의 대상 – 중복속성에 대한

1-1. 데이터 모델링의 이해

1. 데이터 모델의 이해 2. 엔터티 3. 속성 4. 관계 5. 식별자   . 발생시점에 따른 엔터티 분류 – 기본/키엔터티(Fundamental Entity, Key Entity) – 중심엔터티(Main Entity) – 행위언터티(Active Entity)   . 데이터 모델링이란 – 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 – 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정 – 데이터베이스를 구축하기 위한