이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
SQL 튜닝의 시작
SQL의 이해와 효율적인 작성법
엑셈 2013.01.25.
베스트
IT 모바일 top100 3주
가격
27,000원
5 25,650
YES포인트?
270원 (1%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

서문

Chapter 01
SQL 튜닝의 시작은?

Chapter 02
서브쿼리와 성능 문제 이해하기
●서브쿼리에 대한 기본 내용 이해하기
-서브쿼리란
-서브쿼리의 사용 패턴에 대해 알아보자
●서브쿼리 동작방식 이해하기
-FILTER 동작방식
-조인 동작방식
-서브쿼리 동작방식을 제어하는 힌트들
●서브쿼리를 활용한 SQL 성능개선
-비효율적인 MINUS 대신 NOT EXISTS를 사용하자
-조인 대신 서브쿼리를 활용하자
-WHERE절의 서브쿼리를 조인으로 변경하자

Chapter 03
스칼라 서브쿼리의 이해와 효율적인 SQL 작성하기
●스칼라 서브쿼리의 특성 이해하기
-최대 결과 건수만큼 반복적으로 수행된다
-추출되는 데이터는 항상 1건만 유효하다
-데이터가 추출되지 않아도 된다
●스칼라 서브쿼리와 조인의 이해 및 활용하기
-스칼라 서브쿼리는 최종 결과 만큼 수행하자
-스칼라 서브쿼리와 조인의 관계로 보는 SQL 성능 문제

Chapter 04
WITH절 이해와 효율적인 SQL 작성하기
●WITH절 동작방식 이해하기
-MATERIALIZE 동작방식
-INLINE VIEW 동작방식
●SQL 성능 개선을 위한 WITH절 활용하기
-데이터 중복 액세스 제거하기
-VIEW PREDICATING 성능 문제 제거하기
-계층 쿼리의 데이터 처리 최소화 하기
●WITH절을 사용할 때 주의해야 할 점은?
-동시성이 높은 경우 MATERIALIZE 동작방식은 피하
-추출 건수가 많은 경우 WITH절은 피하자
-WITH절 선언 부분은 SQL의 가장 앞에 위치시키자
-WITH절에 동작방식 힌트를 추가하자

Chapter 05
MERGE 구문 이해와 효율적인 SQL 작성하기
●MERGE 구문의 구성요소 알기
-INTO 절
-USING 절
-ON 절
●MERGE 구문으로 처리되는 데이터 이해하기
-MERGE_T1 테이블에 몇 건 UPDATE 될까?
-MERGE_T1 테이블에 몇 건 DELETE 될까?
-MERGE_T1 테이블에 몇 건 INSERT 될까?
●MERGE 구문 작성 시 발생할 수 있는 에러와 해결방법 알아보기
-TARGET TABLE과 SOURCE TABLE의 조인은 1:1이어야 한다
-UPDATE 컬럼은 ON절에 사용할 수 없다
●MERGE 구문은 다양한 형태의 DML을 지원한다
●MERGE 구문을 성능 문제에 활용하자

Chapter 06
FUNCTION 수행과 SQL 성능 문제 이해하기
●FUNCTION 기본내용들 이해하기
-USER DEFINED FUNCTION의 의미
-USER DEFINED FUNCTION의 특징과 장점
-USER DEFINED FUNCTION의 종류와 사용법
●FUNCTION 동작방식 이해하기
-SELECT절에 사용하는 FUNCTION의 동작방식
-WHERE절에 사용하는 FUNCTION의 동작방식
●Function 수행과 SQL 성능 문제
-Function은 최종 추출 결과만큼만 수행하자
-Function이 스칼라 서브쿼리에서 수행하도록 변경하자
-Function을 호출하는 값의 패턴을 분석하자
-Select절에 사용된 Function을 조인으로 변경하자
-Where절의 Function을 Select절로 옮기자

Chapter 07
DECODE & CASE WHEN 이해 및 조건 문 처리하기
●DECODE
-구문
-구문에 대한 상세 설명
-DECODE와 성능 이슈
●CASE
-구문
-구문에 대한 상세 설명
-단순 CASE와 탐색 CASE 사용법
-예제를 통한 CASE의 사용법

Chapter 08
NULL 처리 구문 이해와 효율적인 SQL 작성하기
●NULL 처리 함수 이해하기
-NVL ()
-NVL2 ()
●NVL 활용하기
-실행계획 분리하기
-IS NULL 조회 개선하기
●그룹 함수(COUNT, SUM, MAX, MIN)와 NVL 처리
●NULLABLE 컬럼 사용에 의한 비효율 COUNT 함수 처리
●IS NULL 조회에 대한 개선방법 찾기
-NVL 처리와 FUNCTION BASED INDEX 생성
-컬럼 속성 변경(DEFAULT 설정)과 NULL 데이터 업데이트
-컬럼 추가 및 인덱스 생성 후 WHERE절 변경
●IS NOT NULL 조회에 대한 개선방법 찾기
-다양한 IS NOT NULL 처리와 SQL 성능 문제
-조인 처리 시 IS NOT NULL 활용하기
●' '(BLANK)와 NULL 데이터 처리하기
-' '(BLANK) 데이터가 NULL일까?
-TRIM & NVL 처리
-' '와 NULL 데이터 처리 관련 성능 문제

Chapter 09
날짜 데이터 관련 함수 조회하기
●데이터 타입 간 날짜 데이터 제어하기
-DATE 조회 - 에러가 발생하는 경우
-DATE 조회 - 정상 조회 되는 경우
-잘못된 날짜 연산들
●일자, 시간, 분, 초 계산하기
●날짜와 관련된 유용한 함수들
-TO_DATE & TO_TIMESTAMP & TO_CHAR(datetime)
-ADD_MONTHS
-MONTHS_BETWEEN
-LAST_DAY
-NEXT_DAY
-ROUND
-TRUNC
-EXTRACT

Chapter 10
임의의 데이터를 활용한 효율적인 SQL 작성하기
●CONNECT BY LEVEL로 데이터 추출하기
-임의의 숫자 만들기
-임의의 날짜 만들기
●CONNECT BY LEVEL 활용하기
-데이터 변환 시 CONNECT BY LEVEL 사용하기
-데이터 중복 조회 제거하기
-인덱스 처리 일량이 많은 경우

Chapter 11
컬럼 변형에 의한 SQL 성능 문제 이해하기
●조회 컬럼과 변수의 데이터 타입을 맞추자
●컬럼에 불필요한 ORACLE 제공함수를 사용하지 말자
-부적절하게 FUNCTION을 컬럼에 사용하는 경우
-컬럼 변형으로 인해 인덱스의 MIN/MAX를 활용하지 못하는 경우
-파티션 키 컬럼 변형은 모든 파티션을 읽는다

Chapter 12
조회 패턴에 맞게 SQL 실행계획 분기하기
●많은 조회 패턴을 가진 SQL은 하나의 SQL이 아니다
●SQL의 조회 패턴 별 실행계획을 분기하자
-여러 조건을 가진 SQL의 실행계획 분기하기
-변수 값의 범위에 따라 SQL을 분리하자

Chapter 13
ROWNUM 이해와 관련 SQL 성능 문제 이해하기
●ROWNUM 데이터를 먼저 추출한 이후 조회하자
●ORDER BY와 ROWNUM을 같은 위치에 두지 말자
●ROWNUM=1은 ROWNUM[=1로 사용하자
●INDEX_DESC와 ROWNUM[=1을 함께 사용하지 말자
●ROWNUM[=1은 항상 빠르지 않다
●인라인 뷰에 ROWNUM을 추가할 때는 주의하자

Chapter 14
화면 PAGINATION 처리할 때 이것은 지키자
●ROWNUM 처리를 잘하자
●인덱스 컬럼 순서와 ORDER BY절 순서를 맞추자
●PLAN에 나타나는 오퍼레이션 중 COUNT에 속지 말자
●NESTED LOOPS JOIN을 사용하자
NESTED LOOPS JOIN에 비효율이 많지 않은 경우 효과적이다
기본적인 형태의 PAGINATION을 익히자

Index

저자 소개

저자 : 박성호
POSCO SM (튜닝그룹) 파트에서 ERP, MES 튜닝 업무를 수행하였고, ㈜엑셈에서 기술지원 및 컨설턴트로 일하고 있다. SK하이닉스, 하나은행, LG U+, SKT, 삼성전자 및 다수의 고객사 프로젝트에서 DB 튜닝 업무를 수행하였고, 현재 ㈜엑셈에서 DB컨설팅팀 수석 컨설턴트로 재직 중이다.
저자 : 오수영
현재 ㈜엑셈에서 DB컨설팅팀 책임 컨설턴트로 재직 중이며, 자사의 DBMS 성능관리 툴인 Maxgauge를 활용하여 기술지원 및 컨설턴트로 일하고 있다. T-Store, 우체국금융, 우체국 택배, 한화손해보험, 국방부, 한진 택배, KED 등에서 DBMS 성능 진단 및 개선 업무를 진행하였다.

품목정보

발행일
2013년 01월 25일
쪽수, 무게, 크기
391쪽 | 1020g | 185*256*30mm
ISBN13
9788996817932

출판사 리뷰

SQL 튜닝의 마술~?
-결코 어렵지 않다. 단지 시작이 힘들 뿐~!

SQL 튜닝은 어떻게 시작해야 할까요~?
-SQL의 이해와 SQL의 효율적인 작성부터 시작하자~!

SQL 튜닝은 “SQL + 튜닝” 이다.
-SQL 튜닝이란 튜닝 대상이 되는 SQL을 이해하고, SQL이 가진 정보
(테이블/인덱스/칼럼의 정보 및 업무적 성격 등)를 치밀하게 분석하여
얻어지는 결과일 뿐이다.

저희 엑셈은 앞으로도 주기적으로 기술서적을 출간해서 오라클 성능 지식을 공유하는데 앞장설 것입니다
리뷰 총점 8.6
한줄평 총점 10.0

클린봇이 부적절한 글을 감지 중입니다.

설정

사락 별점0

혜택 및 유의사항

첫번째 별점을 남겨주세요.

첫번째 밑줄을 남겨주세요.