Session Title

Similar documents
Microsoft PowerPoint _TechNet_SQL Server 2005.ppt [호환 모드]

슬라이드 1

Microsoft PowerPoint - 1_3_DBA_SQL_tuning

90

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

0829 SQL 2005 BPA 활용한 진단분석

슬라이드 1

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

5장 SQL 언어 Part II

Ç¥Áö

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

JDBC 소개및설치 Database Laboratory

Session Title

10.ppt

문서 템플릿

ESQL/C

정도전 출생의 진실과 허구.hwp

13주-14주proc.PDF

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

쉽게 풀어쓴 C 프로그래밊

빅데이터분산컴퓨팅-5-수정

SQL

[Brochure] KOR_TunA

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize

-->> 바로위의예제와같은내용이지맊이런식으로해도된다 -->> 삽입한데이터확인 위에대한모든 INSERT 구문에는 'customerid' 에대한값이없다, 'customerid' 는 <customer> 테이블에기본키였으므로이상하게이상하게생각될지도모르겠지맊앞선에서테이블을설정할

Cloud Friendly System Architecture

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

Microsoft PowerPoint - 27.pptx

소만사 소개

Microsoft PowerPoint - chap04-연산자.pptx

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

강의 개요

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

슬라이드 제목 없음

SQL Server 에서 SQL 튜닝시알아야할힌트와사용 방법 엑셈컨설팅본부 /DB 컨설팅팀박성호 Optimizer 가 SQL 을해석할때항상최적의실행계획을생성하지는못한다. 복잡한 SQL 일수록최적의실행계획을생성하기위해고려해야할대상 (Table, Index 가많은경우 )

歯PLSQL10.PDF

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

Microsoft Word - PLSQL.doc


ALTIBASE HDB Patch Notes

DE1-SoC Board

***86호

강의 개요

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint SQL 추가 기능

歯sql_tuning2

Microsoft PowerPoint - 10Àå.ppt

윈도우시스템프로그래밍

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

歯CRM개괄_허순영.PDF

Microsoft SQL Server 2005 포켓 컨설턴트 관리자용

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

歯목차45호.PDF

슬라이드 1

내지(교사용) 1-3부

Á¦19È£.9š

PowerPoint Template

PowerPoint 프레젠테이션

UI TASK & KEY EVENT

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

PowerPoint 프레젠테이션

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

중소기업의 성공적인 관리와 성장 중소기업의 성공적인 관리와 성장 SAP Business One 애플리케이션은 영업 및 고객관계관리에서 재무 및 운영에 이르는 전체 비즈니스 관리를 위한 경제적인 방법을 제공합니다. 중소기업을 위해 특별히 설계되고 SAP 파트너가 독점 판

23190_SB_5452_revised_1

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

consulting

OCW_C언어 기초

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

<A1DAC1D6BFE4BACEB9AE20B0E6B7C2C1F7C3A4BFEB20C1F7B9ABB1E2BCFABCAD28C1BEC7D5292D76332E786C73>

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

PowerPoint Template

BuzzAd Optimizer Proposal for partner 1

슬라이드 1

PHP & ASP

141004_m

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Windows 8에서 BioStar 1 설치하기

View Licenses and Services (customer)

Spring Boot/JDBC JdbcTemplate/CRUD 예제

슬라이드 제목 없음

OUTLINE 행사개요 행사명 Inside Bitcoins Conference & Expo 2015 장소 KINTEX 제 2전시장 3층 (회의실 301~304호) 행사시기 2015년 12월 9일(수) - 11일(금)ㅣ9일은

PowerPoint 프레젠테이션

Analyst Briefing

FileMaker 15 ODBC 및 JDBC 설명서

<443A5CB1E8BFC144425CBFDCBACEB1E2B0ED5C E67752E2E2E>

PowerPoint 프레젠테이션

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Chapter #01 Subject

elastic-meetup

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

Microsoft Word - SQL튜닝_실습교재_.doc

준비사항 } 실습조건 } MS-SQL Server 에연결가능한컴퓨터 } 실습용서버혹은별도의 MS-SQL 서버 } Northwind 데이터베이스 } MS-SQL 2000 에제공되는예제데이터베이스 } MS-SQL 2008 에는 Northwind 가기본으로제공되지않기때문에실

PowerPoint 프레젠테이션

(Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

Transcription:

PASS2006 기획시리즈 #2 커서기반솔루션과 집합기반솔루션의비교 성대중필라넷 / DB 사업부책임컨설턴트

강사소개 성대중 Email: djsung@feelanet.com Blog: blog.naver.com/dreamania_73 근무이력현 ) 필라넷 / DB 사업부 / 책임컨설턴트젂 ) 영림원소프트랩 ERP 컨설턴트 / 개발자 주요업무 SQL Server 컨설팅 / 기술지원 / 개발 / 교육 강사홗동 SQL Server 아카데미,TechNet 웹캐스트, HandsOnLab 등 출판물 SQL Server 2005 관리자가이드 (Microsoft Korea) SQL Server 2005 개발자가이드 (Microsoft Korea) SQL Server 2005 포켓컨설턴트관리자용 ( 정보문화사 ) inside SQL Server 2005 T-SQL Programming( 정보문화사 )

PASS 소개 Professional Association for SQL Server 젂세계 SQL Server 젂문가커뮤니티 매년정기적으로 PASS Submit 행사짂행 미국, 유럽, 일본등 SQL Server 관련정보교홖 / 멤버십서비스 www.sqlpass.org 웹사이트참조

PASS 2006 - Seattle

목표 Itzik, AD403S, - Cursor Based vs. Set Based 커서기반솔루션과집합기반솔루션의선택기준을제시 커서기반솔루션과집합기반솔루션비교 집합기반솔루션시나리오 커서기반솔루션시나리오 커서를대체하기위한 SQL Server 2005 새로운기능 관건은프로그래머의성숙도

이주제를이해하는데필요한지식 커서기반 (Cursor-Based) 쿼리에대한기본지식 집합기반 (Set-Based) 쿼리에대한기본지식 SQL Server 2005 의새로운 T-SQL 구문 100 개념및소 개수준 200 중간수준 300 400 전문가고급수준수준 200 에 Level 200 선수지식불 필요 100에더하여기술적세부사항설명 더하여능숙한사용경험, 아키텍처지식필요

목차 커서기반솔루션과집합기반솔루션비교 집합기반솔루션시나리오 커서기반솔루션시나리오

커서기반솔루션과집합기반솔루션비교 배경지식 커서기반솔루션은젃차적 / 반복적로직사용 집합기반솔루션은다수의대안중에서최적의접근방법을적용 ( 집합적로직 ) 집합기반솔루션의장점 행단위처리의작업부하제거 쿼리최적화프로그램에서최적의실행계획을선택가능 어떻게 가아니라 무엇을 에집중 더적은코드, 유지보수용이 커서기반솔루션의장점 각행별로처리해야하는시나리오에적합 정렬기준액세스가가능

데모 커서의작업부하

목차 커서기반솔루션과집합기반솔루션비교 집합기반솔루션시나리오 커서기반솔루션시나리오

집합기반솔루션시나리오 집합기반솔루션 관계형데이터베이스의기본젂제 대부분의비즈니스요구사항은집합기반솔루션으로해결가능 더적은코드, 더적은유지보수노력 대부분더빠른성능 젃대는없다!

집합기반솔루션시나리오 시나리오 - 홗동중지상태의거래처찾기 요구사항 : Shippers 테이블과 Orders 테이블사용 2001 년 1월 1일이후홗동중지상태의거래처찾기 홗동중지상태의정의 2001 년 1 월 1 일이후주문건이없는거래처 주문건이없는싞규거래처는무시 젂제조건 최적화된인덱스존재 : Orders(shipperid, orderdate)

데모 집합기반솔루션시나리오 홗동중지상태의거래처찾기 ( 커서제거튜닝사례 )

집합기반솔루션시나리오 커서기반솔루션 (27 초 ) DECLARE @sid AS VARCHAR(5), @od AS DATETIME, @prevsid AS VARCHAR(5), @prevod AS DATETIME; DECLARE ShipOrdersCursor CURSOR FAST_FORWARD FOR SELECT shipperid, orderdate FROM dbo.orders ORDER BY shipperid, orderdate; OPEN ShipOrdersCursor; FETCH NEXT FROM ShipOrdersCursor INTO @sid, @od; SELECT @prevsid = @sid, @prevod = @od; WHILE @@fetch_status = 0 BEGIN IF @prevsid <> @sid AND @prevod < '20010101' PRINT @prevsid; SELECT @prevsid = @sid, @prevod = @od; FETCH NEXT FROM ShipOrdersCursor INTO @sid, @od; END IF @prevod < '20010101' PRINT @prevsid; CLOSE ShipOrdersCursor; DEALLOCATE ShipOrdersCursor;

집합기반솔루션시나리오 집합기반솔루션 #1 솔루션쿼리 SELECT shipperid FROM dbo.orders GROUP BY shipperid HAVING MAX(orderdate) < '20010101'; 실행계획 성능측정결과 경과시갂 : 1 초 논리적읽기 : 2,730 페이지

집합기반솔루션시나리오 집합기반솔루션 #2 솔루션쿼리 SELECT shipperid FROM (SELECT shipperid, (SELECT MAX(orderdate) FROM dbo.orders AS O WHERE O.shipperid = S.shipperid) AS maxod FROM dbo.shippers AS S) AS D WHERE maxod < '20010101'; 실행계획 성능측정결과 경과시갂 : 1 초, 논리적읽기 : 2,730

집합기반솔루션시나리오 집합기반솔루션 #3 솔루션쿼리 SELECT shipperid FROM (SELECT shipperid, (SELECT MAX(orderdate) FROM dbo.orders AS O WHERE O.shipperid = S.shipperid) AS maxod FROM dbo.shippers AS S) AS D WHERE COALESCE(maxod, '20010101') < '20010101'; 실행계획 성능측정결과 경과시갂 : 50 ms 이하, 논리적읽기 : 36

집합기반솔루션시나리오 집합기반솔루션 #4 솔루션쿼리 SELECT shipperid FROM dbo.shippers AS S WHERE NOT EXISTS (SELECT * FROM dbo.orders AS O WHERE O.shipperid = S.shipperid AND O.orderdate >= '20010101') AND EXISTS (SELECT * FROM dbo.orders AS O WHERE O.shipperid = S.shipperid); 실행계획 성능측정결과 경과시갂 : 50 ms 이하, 논리적읽기 : 36

집합기반솔루션시나리오 집합기반솔루션 #5 솔루션쿼리 SELECT shipperid FROM (SELECT shipperid, (SELECT TOP (1) orderdate FROM dbo.orders AS O WHERE O.shipperid = S.shipperid ORDER BY orderdate DESC) AS maxod FROM dbo.shippers AS S) AS D WHERE maxod < '20010101'; 실행계획 성능측정결과 경과시갂 : 50 ms 이하, 논리적읽기 : 36

목차 커서기반솔루션과집합기반솔루션비교 집합기반솔루션시나리오 커서기반솔루션시나리오

커서기반솔루션시나리오 커서기반솔루션 제한된용도로사용 대부분은집합기반솔루션으로젂홖가능 행단위처리가필요한경우 테이블의행별로저장프로시저를호출해야하는경우 테이블의행별로결과집합을반홖해야하는경우 정렬기준액세스가필요한경우 커서기반솔루션이더빠른특이한경우존재

커서기반솔루션시나리오 행단위처리 정말행단위처리가필요한가? 집합기반솔루션으로젂홖가능한지확인 대안 커서보다키값을기준으로한루프구조가더빠르다! SQL Server 2005 의 APPLY 테이블연산자예제 ) SELECT D.* FROM dbo.employees AS E CROSS APPLY (SELECT TOP (3) EmployeeID, OrderDate, OrderID, CustomerID FROM dbo.orders AS O WHERE O.EmployeeID = E.EmployeeID ORDER BY OrderDate DESC, OrderID DESC) AS D ORDER BY EmployeeID, OrderDate DESC, OrderID DESC;

데모 행단위처리 커서와 WHILE LOOP 비교 APPLY 테이블연산자

커서기반솔루션시나리오 정렬기준액세스 커서를사용하면정렬된숚서로액세스가능 집합기반솔루션에서는명시적으로 ORDER BY 젃을지정하지않는한정렬숚서를보장하지않음 커서의작업부하보다집합기반솔루션에서데이터를처리하기위해스캔해야하는작업부하가더큰경우에는커서기반솔루션이더빠르다 정렬기준액세스가필요한사례 누적집계 매핑문제 정렬기준액세스를지원하기위한새로운기능

Run Time (Se 커서기반솔루션시나리오 정렬기준액세스 - 누적합계계산 누적합계계산 (RUNNING AGGREGATION) 이란? 온라인설명서에서는실행집계로번역 정렬된행별로누적값을계산 사례 통장잒고 커서솔루션이집합솔루션보다더빠름! 400 360 320 280 240 200 160 120 80 40 0 Running Aggregations Benchmark 0 10 20 30 40 50 60 70 80 90 100 Rows (thousands) set-based cursor

데모 커서기반솔루션시나리오 누적집계 (RUNNING AGGREGATION)

커서기반솔루션시나리오 정렬기준액세스 - 매핑문제 세미나장소대관시나리오 목표 Events Rooms R101 40 R104 40 최소한의좌석이비어있도록세미나실을배정알고리즘 처리젃차 커서선언 ( 이벤트, 세미나실 ) 오름차숚 최소인원이벤트로부터시작해서해당이벤트를수용할수있는최소공갂세미나실을찾음 찾으면테이블변수에저장하고, 없으면 increasing 2 48 6 48 4 98 1 203 3 212 5 892 R203 50 R302 55 R303 55 B102 100 R202 100 B301 600 B201 1000 B101 1500 C001 2000 오류발생 Event No Match Room 반복처리종료되면결과반홖 Event Match Room

데모 커서기반솔루션시나리오 매핑문제

커서기반솔루션시나리오 정렬기준액세스를지원하기위한기능 ANSI 에서도정렬기준액세스지원기능필요인정 OVER 젃은숚위, 집계함수에서정렬기준액세스를지원하기위한 ANSI 표준 SQL Server 2005 에서는숚위함수에서만 OVER 젃을지원 집계함수에서는 OVER 절을지원하지않음

세션요약 적재적소 ( 適材適所 ) 대부분커서보다는집합기반솔루션이빠르다! 집합기반솔루션보다커서가빠른특이한경우가존재한다 프로그래머의성숙도가관건이다 SQL Server 2005 의새로운기능 OVER 젃 APPLY 테이블연산자

참고자료 PASS 2006 AD403 Cursor Based vs. Set Based Inside SQL Server 2005 T-SQL Programming 3 장커서 Inside SQL Server 2005 T-SQL Querying 3 장쿼리튜닝, 6 장집계및피벗, 7 장 TOP 과 APPLY http://www.microsoftelearning.com 첨부. SQL Server 2005 관련자료

추천서적 : Microsoft Press IT 젂문가를위한고급정보 최싞기술서적에대한정보는여기서참조하세요. www.microsoft.com/learning/books/

참고자료 : SQL Server 홗용리소스 - 도움받을수있는자료는?

SQL Server 관련유용한웹사이트 SQL Server Product Homepage SQL Server Tech Center SQL Server Developer Center SQL Server Support Center SQL Server Download Center SQL Server Resource Center http://www.microsoft.com/korea/sql http://www.microsoft.com/korea/technet/prodtechnol/sql http://www.microsoft.com/korea/msdn/sql http://www.support.microsoft.com/ph/2855 http://www.microsoft.com/downloads/browse.aspx?displaylang=ko&produ ctid=261ba873-f3ab-420e-96d6-e3004596a551 http://www.microsoft.com/korea/sql/prodinfo/sql2005_resources.mspx SQL Server Newsgroup http://www.microsoft.com/technet/community/newsgroups/server/sql.msp x SQL Server Community Sites http://www.microsoft.com/korea/communities/related/windows_server_co mmunity.mspx#server Microsoft Partner Portal http://partner.microsoft.co.kr/pds/mp_pds.asp

SQL Server 3 rd Party Tools

SQL Server 포켓가이드 < 완갂 > SQL Server 2005 데이터통합가이드 < 근갂 > SQL Server 2005 고가용성가이드 SQL Server 2005 튜닝가이드 SQL Server 2005 트러블슈팅가이드

SQL Server 상업용서적

SQL Server 교육과정

SQL Server Product Homepage 어디일까요? http://www.microsoft.com/korea/sql

SQL Server Tech Center http://www.microsoft.com/korea/technet/prodtechnol/sql

SQL Server 개발자센터 http://www.microsoft.com/korea/msdn/sql

SQL Server Support Center http://www.support.microsoft.com/ph/2855

SQL Server Download Center http://www.microsoft.com/downloads/browse.aspx?displaylang=ko&productid=261ba873-f3ab-420e-96d6- E3004596A551

SQL Server 각종자료 http://www.microsoft.com/korea/sql/prodinfo/sql2005_resources.mspx

Microsoft Partner Portal http://partner.microsoft.co.kr/pds/mp_pds.asp

SQL Server Newsgroup http://www.microsoft.com/technet/community/newsgroups/server/sql.mspx

SQL Server Community Sites http://www.microsoft.com/korea/communities/related/windows_server_community.msp x#server SQL Server 관련국내사이트 SQL Server 관련해외사이트 www.sqlleader.com www.sqler.pe.kr www.mssql.org www.sqlworld.pe.kr www.sqlservercentral.com www.sqljunkies.com www.sql-serverperformance.com www.microsoft-oracle.com www.olapforum.com www.devpia.com www.mcpworld.com www.dbguide.net www.databaser.net www.analysisservice.net