책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > Oracle
· ISBN : 9788996204558
· 쪽수 : 376쪽
책 소개
목차
저자 서문
이 책의 구성
Chapter 1. 데이터 연결을 자유자재로 작성하자.
조인 SQL 작성, 과연 어려운가?
FROM 절을 이용한 일반 조인과 서브쿼리를 서로 변경하자.
FROM 절의 조인 테이블을 서브쿼리로 변경하여 성능을 향상시키자.
서브쿼리의 테이블을 일반 조인으로 변경하여 성능을 향상시키자.
FROM 절을 이용한 일반 조인을 스칼라 서브쿼리로 변경하여 성능을 향상시키자.
스칼라 서브쿼리를 FROM 절을 이용한 조인으로 변경하여 성능을 향상시키자.
데이터 연결은 데이터 연결 법칙을 따른다.
Chapter 2. 정렬 작업의 최소화가 성능을 보장한다.
고객의 요구 사항에서부터 정렬이 시작된다.
정렬의 모든 것을 알아야 정렬을 사용하지 않고 해결할 수 있다.
ORDER BY 절의 사용을 감소시키면 성능은 보장된다.
단순 정렬의 감소는 인덱스만 고려하면 된다.
WHERE 절의 결합 조건 및 결합 ORDER BY 절은 결합 인덱스로 정렬을 감소시켜야 한다.
선분 조건도 정렬을 제거시킬 수 있다.
조인도 ORDER BY 절을 제거할 수 있다.
GROUP BY 절도 정렬을 수행하여 데이터를 추출한다.
GROUP BY 절에 의한 정렬도 인덱스를 이용하여 제거한다.
IN 절에도 정렬이 발생할 수 있다.
IN 절이 인덱스를 이용하면 정렬된 값이 추출된다.
UNION 집합 연산자를 이용할 경우에도 정렬의 최소화는 가능하다.
MINUS 집합 연산자를 NOT EXIST나 NOT IN으로 변경하여 정렬을 제거할 수 있다.
Chapter 3. 양쪽 OUTER 조인을 이용하면 대사 작업을 효과적으로 처리할 수 있다.
OUTER 조인은 조인 타입이다.
OUTER 조인의 성능에 유의하라.
대사 작업은 엄청난 성능 저하를 발생시킬 수 있다.
UNION ALL 집합 함수를 이용하여 대사 작업을 최적화하자.
복잡한 대사 작업도 UNION ALL 집합 연산자로 최적화할 수 있다.
UNION ALL 집합 연산자를 이용한 대사로 데이터 정합성을 100배 빠르게 맞출 수 있다.
Chapter 4. 동적 조건 쿼리는 하나의 쿼리가 아니다.
동적 조건 쿼리는 경우의 수 만큼 하나 하나의 쿼리로 작성할 수 없다.
2개의 조건에 의한 동적 조건 쿼리를 최적화하자.
n차 동적 조건 쿼리 최적화로 성능을 향상시키자.
동적 ORDER BY 쿼리를 최적화하자.
동적 WHERE 조건 쿼리와 동적 ORDER BY 쿼리의 결합을 최적화하자.
Chapter 5. 성능 저하의 주범인 목록 쿼리를 최적화하자.
목록 쿼리를 어려워하는 이유
목록 쿼리의 전체 데이터 처리 방식과 n-Row 처리 방식을 이해하자.
조인을 이용한 목록 쿼리도 n-Row 처리로 해결해야 한다.
n-Row 처리를 수행하는 목록 쿼리에도 비효율은 존재한다.
n-Row 처리를 수행하는 목록 쿼리의 비효율을 제거하자.
비효율을 제거한 n-Row 처리의 목록 쿼리와 COUNT 쿼리는 결합 목록 쿼리가 될 수 있다.
조인 목록 쿼리를 결합 목록 쿼리로 100배 빠르게 할 수 있다.
결합 목록 쿼리와 n-Row 처리 목록 쿼리의 성능을 최적화하자.
Chapter 6. 분석 함수로 통계 레포트를 작성하자.
통계 레포트는 온라인처럼 처리가 불가능한가?
분석 함수는 함수의 부분 집합이다.
분석 함수는 윈도우로 시작하여 윈도우로 끝난다.
서브 윈도우와 메인 윈도우의 이해는 분석 함수의 시작이다.
서브 윈도우를 이해하면 분석 함수는 쉬워진다.
분석 함수 윈도우의 사용 범위는 무궁무진하다.
동적 GROUP BY 절의 개념을 이해하자.
동적 GROUP BY 절은 이렇게 작성해라.
동적 GROUP BY 쿼리의 성능을 이해하자.
Chapter 7. 집합 함수를 최적화하자.
COUNT 쿼리를 최적화하자.
COUNT 쿼리도 랜덤 엑세스를 감소시키면 성능은 향상된다.
MIN 쿼리와 MAX 쿼리를 최적화하자.
MAX 쿼리를 통한 번호 채번을 최적화하자.
AVG 쿼리를 최적화하자.
Chapter 8. 배치 작업의 응답 속도를 100배 빠르게 수행하자.
배치 작업의 응답 속도는 항상 느린가?
갱신은 UPDATE가 아니며 삭제는 DELETE가 아니다.
효과적인 아키텍처 구현만으로도 성능이 향상된다.
Chapter 9. 구체화된 뷰의 사용은 시대의 요청이다.
구체화된 뷰는 무엇인가?
구체화된 뷰를 왜 사용하는가?
구체화된 뷰를 생성하자.
구체화된 뷰를 이용하여 성능을 최적화하자.
구체화된 뷰에서 쿼리 재작성을 주의하자.
찾아보기