How I Approach Tuning a SQL Statement

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

1 Orange Part I WareValley. 2 Orange 기능 Development Tool Schema Browser Query Builder SQL Tool PL/SQL Tool Description Tool Table Editor Loader File Editor.
김미숙 보건교사 정부중앙청사 별관 대강당 일 14:00~17:00 초등 교사를 위한 성교육매뉴얼의 효율적인 활용방안 주최 : 교육과학기술부 / 보건복지부.
나를 지키고, 침착하게 대처하려면, 반드시 익혀야 하는
제 3장 오라클 소개 오라클 소개 오라클 설치 방법 오라클 구조 제 3 장 오라클 개요.
성공적 제 3 인생을 어떻게 살 것인가 ? 강 신 옥 (청주우암시니어클럽 관장).
SAP Tuning 실무 교육 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU)
SQL Statement Tuning e-Architecture 팀 임성욱.
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
오라클 데이터베이스 성능 튜닝.
Perfect! 대용량 데이터베이스 튜닝Ⅱ.
소리가 작으면 이어폰 사용 권장!.
12 프로젝트 실습.
실전 데이터모델링 & 데이터베이스 설계와 구축
[ 하나투어 여행박람회 중국사업부 교육 ] 실크로드 담당: 하나투어 이재현 교육일 : 2009년 5월 22일.
㈜디알디 코리아 ㈜드림유비인터내셔날 지 명 원.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
대용량 데이터베이스 솔루션 발표자: 박보영 2007년 5월19일.
오라클 데이터베이스 성능 튜닝.
손 호성 Deep Inside T-SQL Query Programming 손 호성
SQL Server Migration Assistant For Oracle
Database & Internet Computing Laboratory 한 양 대 학 교
박시우 ( 업무에 바로 쓰는 SQL 튜닝 박시우 (
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
7장 조인.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Apache Hive 빅데이터 분산 컴퓨팅 박영택.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
Toad for Oracle 설치 방법.
오라클 데이터베이스 성능 튜닝.
11장. 데이터베이스 서버 구축과 운영.
오라클 데이터베이스 성능 튜닝.
kHS 데이터베이스 테이블 및 인덱스 kHS.
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
MySQL 기본 사용법.
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
14 뷰(View) 뷰의 개념 뷰 관리.
제 17 장 (Oracle) 오라클에서 질의 최적화
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
SELECT empno, ename, job, sal, dname FROM emp, dept
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
SQL Server 7.0 세미나 (Performance Tuning)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
1. 논리적이란? 논리적이지 못하다 말이나 글에 두서가 없다. 1. 논리적이란? 논리적이지 못하다 말이나 글에 두서가 없다.
상용 DBMS에서 사용하는 다차원색인 컴퓨터과학과 이돈규 상용 DBMS에서의 다차원색인.
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
목차 INDEX 1. 회원가입 및 로그인 2. 업체정보 3. 제조검사 신청 4. 인보이스 5. 검사진행현황(현장검사 신청)
View(뷰) 1 가상 테이블(Virtual Relation)
Database 중고차 매매 DB 비즈니스IT 윤동섭.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
SQL Tuning.
McGraw-Hill Technology Education
SQL INJECTION MADE BY 김 현중.
15 사용자 권한 제어 데이터베이스 보안 권한 롤 동의어.
MS-SQL7.0 Implementation 강의 노트
4.DECODE 함수를 이용한 IF 처리의 효율화
Tips! 공부로 다이어트 하기 공부를 열심히 제대로 하면 다이어트가 자동으로 된다.   공부할 때에는 식사를 줄여야한다. 자기가 배부르다고 느낄 정도로 먹으면 공부와는 이별해야한다. 배부르게 먹으면 신선한 산소를 20% 이상 소모하는 두뇌로 맑은 피가 가는 것이 아니라.
책을 읽읍시다  탈향 진지하게 설명해드림 1303 김소희 1309박지호 1315이지수.
8장. SELECT명령문 : FROM 절 FROM 절에서 테이블 명세 열 명세 다중 테이블 명세 가명 FROM절의 다양한 예제
2016년 제1차 운영위원회 평택시건강가정 ∙다문화가족지원센터
우수사원 연수 제안서 2-1. 항공, 호텔, 식사, 차량 세부 안내 (지역순서대로 작성 발리-싱가포르-괌)
Presentation transcript:

How I Approach Tuning a SQL Statement SQL 문장 Tuning 접근법 : William Scott 이란 분이 메타링크 Tip 란에 올리신 글을 단순 번역 한 글입니다. 문장 분석 1. Where 절을 검토 한다. Where 절은 크게 Rows 를 제한 하는 것과 Table 간의 Join에 사용된다. 2. 후보 Driving Table 을 정한다. 가장 적은 Rows 를 가져오는 [ 가장 제한적 (where)절을 가진 ]테이블을 선택 후보가 2개 이상 시에는 한 개 찍기 3. From 절의 모든 Table 을 List 하고, 후보 Driving Table 을 시작으로 하여, Join 조건을 이용하여 모든 Table 간의 Join 을 진행 한다. 이것은 후보 Driving Table 로 시작된, Database 가 접근 해야만 하는 테이블 순서 리스트롤 보여준다. 4. Drving Table 의 인덱스를 찾고, 인덱스 혹은 Full Table scan 을 이용하는 것이 좋을지 결정 하고, Optimizer가 선택한 Index 보다 좋은 Index 가 있다면 인덱스 Hint 사용을 통해서 보다 좋은 Index 를 사용하도록 한다. Full Table Scan 이 최적이라면, Parallel Hint 추가를 고려한다. 5. 제한적 Where 절을 가진 Table 을 우선적으로 Join 하려고 한다. [ 제한적 Where 절이 없는 Table 보다 우선적으로 ]

How I Approach Tuning a SQL Statement SQL 문장 Tuning 접근법 이제 하나 이상의 테스트가 필요한 후보 실행 계획이 생겼다 Plan 비교 A 결과로 생성된 후보 계획과 문제의 실제 실행 계획을 비교 한다. 다른 Driving Tables 과 다른 Join 순서를 사용을 고려하여, 실제 데이터를 자세히 살펴본다. 실행계획 간의 비교 및 자세한 분석을 하고, 주관적으로 최적의 계획에 도달 한다. C. 테스트 하기 가장 효과적인 Hint 는 ORDERED Hint 다. 특히, From 절에 Table 이 많을 때 잘 작동 한다. /** ordered */ Hint 를 Select 다음에 추가 하고, B.3 에서 도출된 실행 계획에 맞추어, From 절 내에 순서대로 List 한다. /** FULL(Driving Table alias) */ 과 같이 다른 Hint 추가 역시 Optimizer 가 적절한 Driving Table 을 이용하게 하는 좋은 방법이다. 상기의 Hint 를 이용한 실행계획의 실행 만일, 실행계획이 좋다구 판단되면, 실제 실행. Set Timing ON, Set AUTOTRACE ON

How I Approach Tuning a SQL Statement SQL 문장 Tuning 접근법 기존과 신규 문장을 얼마나 시간이 소요되는지 파악 하기 위해서, 여러 차례에 걸쳐 실행 한다. Autotrace 의 Summary Block 수는 성능의 좋은 척도이다. 적은 블록에 접근 할수록, 성능상 좋다. D. Tuning Hints and Tips 실행 계획에 영향을 줄 수 있는 다른 많은 Hint 와 Techniques 가 있다. Merge Join 보다는 Hash join 이 거의 항상 성능상 좋다는 것을 기억 하자. Nested Loop 는 몇 건의 Rows 를 가져올 때 좋다. Tuning sub-Select는 좋은 방법일 수 있다. 필자는 “IN ( SELECT …) or a NOT IN”을 대체하기 위해서 in-line view 를 종종 사용하고, Hash Join 에서 몇 천 번의 Nested Loop 를 피함으로써 눈에 띄는 성능 향상을 성취하였다.