Oracle Magazine 2003 summer

Size: px
Start display at page:

Download "Oracle Magazine 2003 summer"

Transcription

1 관계형 DBMS 옵티마이저의 한계와해결방안 글 이상원 < 성균관대학교교수 > 030 ORACLE KOREA MAGAZINE

2 :: TECHNOLOGY :: 관계형 DBMS의두뇌역할을담당하는비용기반옵티마이저 (Cost Based Optimizer : CBO) 의근본적인한계들을정확히아는것은필요한경우에 SQL의정확한튜닝을위해서반드시필요하다. 이한계들을극복하기위해관계형 DBMS 벤더들은꾸준한기능개선노력을하고있지만, 해결책이결코쉽지않다. 이글은SQL 튜닝전문가나 SQL 개발자등사용자입장에서이문제의근본적인이유를제대로이해하고, 이를해결하기위해어떤기능들이개별 DBMS에서제공되는지를파악하며, 현재관계형 DBMS의옵티마이저의한계를해당기능들을이용해서어떻게극복할것인지대해체계적으로생각하는방법을제공할것이다. 관계형 DBMS 옵티마이저는기본적으로통계정보, 선택도, 카디널리티, 비용순으로특정실행계획 (Execution Plan) 의수행비용을예측한다. 이글에서는이관계형 DBMS의옵티마이저가비용을계산하는과정에서발생할수있는오류의종류와원인을체계적으로알아보고, 각각의오류에대해일반적인해결방안을설명하겠다. 이글은이한계에대한완전한해결책을제시할수는없지만, 사용자입장 ( 특히 SQL 튜닝전문가나 SQL 개발자 ) 에서1) 이문제의근본적인이유를제대로이해하고, 2) 이를해결하기위해어떤기능들이개별 DBMS에서제공되는지를파악하며, 3) 현재관계형 DBMS의옵티마이저의한계를해당기능들을이용해서어떻게극복할것인지대해체계적으로생각하는방법을제공할것이다. 또한이한계들을극복하기위해서최근대두되고있는 스스로학습하는옵티마이저 의기본적인프레임워크와이를구현하는방안들에대해오라클 DBMS를중심으로설명할것이다. 이글의이해를돕기위해 주1 : 이기사는관계형데이타베이스개념에일정정도익숙한독자들을대상으로작성되었기때문에초보자는이해하기가어려울수도있다. 주2 : 여기서소개하는관계형DBMS의한계는특정DBMS의문제가아니라, 상용 DBMS별로조금씩차이는있겠지만, 거의모든 DBMS 에공통적으로나타나는문제점이다. 주3 : 여기서주로관계형DBMS 옵티마이저기술의근본적인한계를논하겠지만, 그렇다고해서이글이관계형 DBMS 옵티마이저기술을폄하하는것은절대아니다. 또한특정 DBMS의경우규칙기반옵티마이저 (Rule Based Optimizer) 모드도제공하는데, 여기서비용기반옵티마이저 (Cost Based Optimizer) 의한계를언급한다고해서비용기반옵티마이저가규칙기반옵티마이저에비해나쁘다고단정하는것은아니다. 반대로, 규칙기반옵티마이저는앞으로는복잡한 SQL을제대로최적화하지못하고, 또한새로도입된관계형 DBMS의최신기술들을활용할수없기때문에머지않아사라지게될기술이라본다. 주 4 : 이기사는관계형 DBMS의아주근본적인문제점들의기본원인을설명한다. 그런데이기술은워낙광범위하고복잡한기술이라모든세부적인내용을다다룰수도없을뿐더러, 필자도관계형 DBMS 옵티마이저의모든사항을완전히이해하고있지않다. 미진하고잘못된부분은모두필자의책임임을밝혀둔다 SUMMER 031

3 관계형 DBMS 옵티마이저현재의모든관계형 DBMS는사용자의 SQL 질의를효율적으로수행하는방법을찾아내는옵티마이저 (Query Optimizer, 질의최적화기 라고도한다 ) 를제공하고있다. 예를들어, 다음과같은간단한SQL문을보자. Q1 : select ename, sal from emp e, dept d where e.deptno = d.deptno and d.loc = SEOUL emp와dept는각각deptno와loc 칼럼에대해 B 트리인덱스가있다고가정한다. 이같은단순한질의 Q1의경우에도질의결과를구하는방법, 즉실행계획은다양할수있다. < 그림1> 은두가지실행계획 P1과 P2를보여주고있다. P1은우선loc = SEOUL 조건을만족하는 dept 레코드를인덱스를이용해서찾고, 각 dept 레코드에대해 deptno 값이일치하는 emp의레코드를인덱스를이용해서찾아값을출력한다 ( 중첩루프 (Nested Loop) 조인방법이용 ). 한편, P2는emp/dept 테이블을전체테이블스캔해서 (Full Table Scan) 이들을정렬합병 (Sort Merge) 방식으로조인해서질의처리를수행한다. 주목할점은, 이두실행계획모두정확한질의결과를구하지만, 두방식의수행시간에는차이가많이날수도있다는점이다. 예를들어, P1 방식은1초에원하는결과를구하는반면, P2 방식은 1시간이걸릴수도있다. < 그림 2> 는관계형 DBMS 옵티마이저의내부아키텍처를나타낸것으로, SQL 질의는크게다음 4단계를거쳐서최적화된다 (< 그림 2> 에서번호가매겨진부분 ). 1. SQL : 사용자가입력한SQL 2. 실행계획생성 (Plan Generator) : 주어진 SQL을수행할수있는실행계획들 (P1, P2,..., Pn) 을생성 3. 비용산정 (Cost Estimator) : 각실행계획에대해옵티마이저의비용산정 (Cost Estimator) 모듈이예상비용을계산 4. 실행계획선택 : 각실행계획들의비용을비교해서가장좋은비용을선정이와같이, 다양한실행계획들에대해각실행계획의비용을예측해서최선의실행계획을선택하는비용기반최적화 (Cost Based Optimization) 기법이 Oracle, DB2, MS SQL Server를포함한모든상용 DBMS 옵티마이저의기본아키텍처이다. 이아키텍처는관계형 DBMS의옵티마이저는 IBM DB2의모태인 System-R 프로토타입시스템을개발할당시에처음으로고안되었고, 이아키텍처를주도적으로제안한 IBM의여성전산학자 Pat. Selinger의이름을따서, Selinger- 스타일옵티마이저 라부른다 ([ 참고문헌 2], 본격적으로관계형 DBMS의옵티마이저에대해깊이있게공부하고싶은독자들은이논문을반드시읽어야한다 ). 옵티마이저의생명 - 비용산정의정확성 < 그림 1> 질의 Q1에대한두가지실행계획예 P1, P2 이외에도질의 Q1을수행할수있는많은실행계획이있을수 있다. 실행계획이란, 여러개테이블들의조인에대해, 특정한조인순서 (Join Ordering), 조인방법 (Join Method), 그리고테이블액세스방법 (Access Method) 을선택하는것이다. 옵티마이저는가능한실행계획들을모두검토하고, 이중에서가장효과적으로, 즉가장빨리Q1의결과를구할수있는실행계획을결정한다. 옵티마이저가최적의실행계획을찾는과정을 질의최적화 (Query Optimization) 또는단순히 최적화 라고한다. 관계형 DBMS의옵티마이저의기본원리에대해서는본지의 2002년겨울호에본저자가기고한글 [ 참고문헌1] 과거기에언급된여러문헌들을참고하기바란다. 그런데여기서주목할점은, 옵티마이저가실행계획들을비교할때사용하는기준은 예상비용 이라는점이다. 앞의예에서 P1과P2 방법을실제로수행해보고더좋은방법을결정하는것이아니라, 옵티마이저가갖고있는통계정보를활용해서P1과P2로수행했을때어느실행계획의예상비용이적은가를보고서이를실제로수행하게되는것이다. 결국옵티마이저의생명은예상비용의정확성에달려있다. 즉, < 그림 2> 의비용산정 (Cost Estimator) 모듈이얼마나정확하게비용을산정하느냐에옵티마이저의정확성이결정된다. 많은경우에, 옵티마이저의비용산정모듈은아주정확하게비용을예상하기때문에, 현재 90% 이상의실제 SQL들에대해서옵티마이저는최선의실행계획을선택한다. 얼마나위대한기술인가! 그런데, 이비용산정모듈이항상정확한예상비용을계산하는것은아니다. 그렇다면왜그럴까? 비용산정의정확성에영향을미치는요소 < 그림2> 에서알수있듯이, 특정실행계획의비용을결정하는요소는크게다음3가지이다 ( 물론, 이들 3가지요소이외에도비용산정의정확성에영향을 032 ORACLE KOREA MAGAZINE

4 :: TECHNOLOGY :: < 그림 2> 관계형 DBMS 옵티마이저의내부아키텍처 미치는미묘한여러가지문제들 - Bind 변수, 리터럴변수, 특수한조건식 %xxx%, CPU와저장장치등의접근비용의가정 [ 참고문헌 8] 등- 이있지만, 이런변수들은여기서는다루지않겠다. 자세한내용은 [ 참고문헌 5] 를참고하기바란다 ). 대해서좀더자세히알아보고, 이들오류의일반적인해결책에대해서도간단히알아보도록하자. 지금부터는오라클 DBMS를중심으로설명하겠지만, DB2나MS SQL Server의경우에도유사하다고이해하면될것이다. 통계정보 : 데이타딕셔너리 (Data Dictionary) 비용산정모듈에서의기본가정들 : 선택도 (Selectivity) 와카디널리티 (Cardinality) 계산식 실제질의수행환경에대한가정 : 비용계산식의런타임수행환경 ( 예 : 메모리 ) 에대한가정 < 그림 2> 의비용산정모듈의동작순서를따르면 1) 통계정보를바탕으로, 2) where 절의조건식과조인조건에대해선택도와카디널리티를계산하고, 3) 이를바탕으로각테이블에대한액세스방법 ( 예 : 전체테이블스캔또는인덱스 ) 과조인방법 ( 예 : 중첩루프나정렬합병, 해시 ) 의비용을계산한다. 그런데, 이세가지과정모두에서잘못된비용을산정할수있는가능성이있다. 즉, 현재의통계정보가데이타베이스의실제데이타들의분포와다를수있고, 선택도와카디널리티계산공식의가정이실제데이타의분포와일치하지않고, 비용계산공식에서가정하고있는수행환경이실제질의수행환경과는많은차이가날수있는것이다. 그러면이제이세가지과정에서발생할수있는오류의원인과종류에 통계정보의수준 일반적으로관계형 DBMS의경우, 시스템카탈로그 또는 데이타딕셔너 리 라는이름으로테이블 / 인덱스 / 칼럼들에대한통계정보들을유지한다 < 표1>. 그러나이통계정보를아주정확하게관리하는것은비용이많이들기 때문에, 테이블에튜플들이삽입 / 삭제 / 갱신될때마다자동적으로유지, 관 리되지않고, 대신에사용자가주기적으로통계정보를수집하기위한명령 을수행한다. 구 분 필요한통계정보 테이블 NUM_ROWS, BLOCKS, AVG_ROW_LENGTH 등 인덱스 BLEVEL, LEAF_BLOCKS, DISTINCT_KEYS, CLUSTERING_FACTOR 등 칼 럼 LOW_VALUE, HIGH_VALUE, DISTINCT_NUM, NULL_NUM, AVG_COL_LENGTH, HISTOGRAM 등 < 표1> 옵티마이저가필요로하는기본적인통계정보들 질의에서참조된특정테이블, 칼럼, 인덱스들에대한통계정보를딕셔 2003 SUMMER 033

5 조건식상호독립 (Predicate Independence) 조인독립 (Join Independence) 그런데이가정들은많은경우에잘성립하지만, 모든경우에성립하지는않는불완전한가정이다. 따라서, 이불완전한가정으로인해서선택도와카디널리티, 비용을잘못산정하게될수도있는것이다. 그러면이들각가정의의미와문제점, 그리고해결방안에대해알아보자. 너리에서참조해야하는데, 이들에대한통계정보의수준은크게다음과같은단계로구분할수있다. 1. 디폴트 (No Statistics) 단계테이블과인덱스를생성한뒤, 사용자가전혀통계정보를수집하지않은경우인데, 이경우에옵티마이저는 < 표 1> 에서필요로하는정보들에대해기본적인가정을한다. 이경우는실제데이타분포와완전히틀릴수있다. 따라서사용자는다음단계인기본통계정보는유지할필요가있다. 균등분포가정균등분포가정은어떤테이블의특정한칼럼에대해튜플들이갖는 값이골고루분포되어있다 는가정이다. 예를들어, d.loc에대한히스토그램통계정보가없으면, 옵티마이저는이균등분포가정에기반해서 d.loc칼럼의기본단계의서로다른값 (Distinct Value) 개수 ( 이를 NDV라하자.) 를기준으로해당조건의선택도를 1/NDV로계산한다. 그러나, 실제데이타가 d.loc에대해치우친 (Skewed) 분포를보이면, 옵티마이저의선택도, 카디널리티, 비용이순차적으로틀리게되는것이다. 따라서, 이가정이일반적으로맞지않은칼럼에대해서는사용자가해당칼럼에대해히스토그램정보를유지해야한다. 2. 기본 (Base Statistics) 단계실제데이타를분석해서테이블, 인덱스, 칼럼들에대해기본적인요약된통계정보를유지하는것이다. 이를위해서사용자는 Analyze table/index 등의명령을사용해야한다. 3. 히스토그램 (Histogram) 단계특정칼럼에대해서데이타의분포를기본단계보다훨씬더정확하게유지하는것이다. 해당칼럼에대해값들의분포가고르게분포되지않고 (Non- Uniform), 치우친 (Skewed) 경우에해당칼럼에대해서는히스토그램정보를생성해야한다. 특정한시점에기본또는히스토그램단계의통계정보를수집한이후에, 실제테이블에데이타가아주많이변경된경우에는새로이통계정보를재생성해주어야한다. 그렇지않으면, 아무리옵티마이저의비용산정모듈이지능적이라도결국은틀린비용예측을하게되고, 궁극적으로좋지않은실행계획을선택하게된다. 비용산정모듈에서사용하는기본가정들 < 그림 2> 의비용산정모듈에서보듯이, 옵티마이저는앞의통계정보를기반으로선택도와카디널리티를계산하는내부공식을갖고있다. 이내부공식들은다음세가지가정에기반한다. 균등분포 (Uniform Distribution) 조건식상호독립가정조건식상호독립가정은하나의테이블에대해주어진 where절의각조건식이서로독립적이라는것이다. 예를들어, 질의 select * from emp where deptno = 10 and salary < 의경우, deptno와salary 각각에대해완전한통계정보를유지해서, deptno = 10의선택도가 0.1이고 salary < 40000의선택도는 0.4였다. 일반적으로조건식 P1과 P2의선택도를 Sel(P1), Sel(P2) 라할때, 각칼럼의값들의분포는서로독립적이다 는가정에기반해서,(P1 AND P2) 조건식의결합선택도 (Combined Selectivity) 는Sel(P1) * Sel(P2) 로계산하게된다. 이때옵티마이저는 emp 테이블에서 where 절조건의전체선택도를 0.1 x 0.4, 즉0.04로계산한다. 실제로 deptno와salary는별로상관관계가없기때문에, 이가정에따라계산된선택도 0.04는거의정확하다고볼수있다. 그러나질의 select * from emp where job_title = 부장 and salary < 의경우, job_title = 부장 과 salary < 40000에대해정확한선택도는 0.2이고 salary < 40000의선택도는 0.4를유지하고있지만, 부장이면서연봉이 40000이하인경우는거의없기때문에실제선택도는 0에가까울것이다. 즉, 이가정은실제데이타분포상서로밀접한상관관계가있는두칼럼에대한선택도를구할때아주잘못된선택도를산정하게되고, 결국잘못된카디널리티와예상비용을산정하게된다. 이에대한해결책은이러한조건식상호독립이성립하지않는칼럼들의조합에대해히스토그램을별도로유지하는것이다. 그렇지만, 이는유지해야할히스토그램의정보가기하급수적으로늘어나게되는문제가있기때문에현실적인대안이되기는힘들다. 오라클은 Oracle9i Database부터동적샘플링 (Dynamic Sampling) 을제공해서좀더정확한선택도계산을가능하게하고있다. 자세한내용은 [ 참고문헌 6] 을보기바란다. 034 ORACLE KOREA MAGAZINE

6 :: TECHNOLOGY :: 또다른해결책으로두조건식칼럼의함수적종속성 (Functional Dependency) 이나다중값종속성 (Multivalued Dependency) 을이용해서의미적질의최적화를수행할수도있지만, 이또한현단계에서는현실적인대안은되지못하고이론적인해결책일뿐이다. 중첩루프조인의가정중첩루프의경우조인비용 ( 즉, 필요한디스크 I/O 수 ) 을다음과같이산정한다. 조인독립가정조인독립은조인되는두테이블 T1과 T2에대해, T1의한튜플이 T2의모든튜플들과똑같은확률로조인된다고가정 ( 반대의경우도성립 ) 하는것이다. 예를들어, 질의 select * from emp, dept where emp.deptno = dept.deptno 의결과카디널리티는 Card(emp) x Card(dept) x 1/MAX(emp.deptno의NDV, deptno.deptno의 NDV) 가된다. 이가정은조인되는두칼럼이주키 (primary key)/ 외래키 (foreign key) 관계 (N:1의관계) 에있다고볼때가장잘들어맞는다. 만일에, emp.deptno와 dept.deptno가거의겹치는값이없다면, 조인결과튜플의수도거의 0에가까울것이다. 또다른극단적인경우는, 아래예처럼, 양쪽칼럼모두특정값이많이나타나는경우로, 이들이조인될때는조인조건의선택도는 1에가까울것이다. 즉, 조건식의선택도는 1/3이아니라, 실제 18/36, 즉1/2이된다. 이조인독립가정에위배되는경우에찾아내기힘들고, 이는실제데이타분포를확인한후수동으로찾아야하고, 이를바탕으로사용자가힌트 (Hint) 기능을사용함으로써 SQL 튜닝을수행할수밖에없다. Nested Loop Join Cost = cost of accessing outer table + (cardinality of outer table * cost of accessing inner table ) 이수식에따르면, 중첩루프의안쪽테이블 (inner table) 의데이타는매번디스크에서읽어와야한다는가정이숨어있는것이다. 그러나실제일정정도이상의버퍼캐시를갖고있고인덱스를통해서안쪽테이블을액세스하는경우, 항상디스크 I/O가발생하는것은아니고인덱스블록들이버퍼캐시에존재할확률이높기때문에예상치보다훨씬적은물리적인디스크I/O가발생하게된다. 따라서, 위수식은질의수행환경에있어서이용가능한메모리자원에대해최악의가정을하고있는것이다. 결국은중첩루프조인방법의비용을... deptno deptno emp dept 메모리실행환경에대한가정 현재의관계형 DBMS들은대부분중첩루프 (Nested Loop), 정렬합병 (Sort Merge), 해시 (Hash) 의세가지조인방법을지원하고있다. 그런데, 이들각각의조인방법에대한비용계산식에서는실제수행시에사용가능한메모리자원에대해특정한가정을하게된다. 다음두가지가대표적인경우이다. 중첩루프조인시해당데이타및인덱스블록은디스크로부터읽어야한다는가정 정렬합병또는해시조인에필요한메모리크기에대한가정 2003 SUMMER 035

7 비용산정에영향을미치는요소 세부요소 해결방안 통계정보의정확성 통계정보와실제데이타의불일치 적절한통계정보의생성및주기적인갱신 비용산정모듈의가정과 균등분포가정 히스토그램 (Histogram) 생성 실제데이타분포의불일치 조건식상호독립가정 동적샘플링 (Dynamic Sampling) 조인독립가정 자동적인해결책없음 ; 정확한데이타분석후, 힌트기능을이용한 SQL 튜닝 조인비용계산식과중첩루프조인버퍼캐시가정 OPTIMIZER_INDEX_CACHING,OPTIMIZER_INDEX_COST_ADJ 조정 실제수행환경의차이 Sort/Hash 메모리가정자동적인해결책없음, PGA_TARGET_SIZE 조정 < 표 2> 옵티마이저의기본적인문제점및해결책 실제보다너무높이책정하기때문에정렬합병이나해시조인방법이선택될가능성이높은것이다. 이에대한해결책으로 init.ora 파일에서 OPTIMIZER_INDEX_CHACHING ( 디폴트로 0) 값과 OPTMIZER_INDEX_COST_ADJ( 디폴트로 100) 의값을조정해서인덱스를이용한중첩루프조인의비용을보정하는방법이있다. 물론, 정확한값을시스템전체적으로얼마로조정할것인가의문제는또다른어려운문제이다. 정렬합병또는해시조인의가정 정렬합병또는해시조인의경우, Oracle9i Database 이전에는각오라클인스턴스마다고정된 SORT_AREA_SIZE 또는 HASH_AREA_SIZE가실제할당되기때문에이두조인에대한비용은상대적으로정확했다고볼수있다. 그러나, Oracle9i Database부터는시스템전체적으로 PGA_TARGET_SIZE 라는목표치를정해놓고, 동적으로각사용자마다필요에의해정렬이나해싱을위한공간을동적으로할당하기때문에, 이들비용을계산할때특정한메모리공간을수식에의해가정해야만한다. 필자도이경우에옵티마이저가메모리공간에어떤가정을하고, 동적으로어떻게할당되는지에대해서는자세히알방법이없다. 따라서, 이경우에가정한메모리공간보다실제수행시메모리가훨씬많거나적을경우, 옵티마이저가예측한공간보다작을경우예상비용이틀리게된다는점은분명하다. 이상의내용을정리하면, 관계형DBMS의옵티마이저는기본적으로통계정보, 선택도, 카디널리티, 비용순으로특정실행계획의수행비용을예측한다. 앞에서이관계형 DBMS의옵티마이저가비용을계산하는과정에서발생할수있는오류를체계적으로알아보았고, 각각의오류에대해일반적으로어떤식으로해결할것인지에대해알아보았다. < 표2> 는이상에서살펴본관계형 DBMS 옵티마이저의비용산정에영향을미치는요소와해결방안을정리한것이다. 자동적인해결책 - 스스로학습하는옵티마이저를향해 지금까지는관계형 DBMS 옵티마이저의문제점과이에대해개발자, DBA, 또는 SQL 튜닝전문가가취할수있는해결방안에대해알아보았다. 그렇지만, 관계형 DBMS는궁극적으로는사용자의개입없이도항상최선의실행계획을생성할수있어야할것이다. 현재많은관계형 DBMS 벤더들은이목표를위해새로운기술개발을경주하고있다. 여기서는이러한노력들중에서머지않아실용적으로사용될 스스로학습을통해더효율적인실행계획을생성하는옵티마이저 (Self- Learning Optimizer) 에대해알아보고자한다. 이내용은필자가대학 036 ORACLE KOREA MAGAZINE

8 :: TECHNOLOGY :: SQL SQL re-written with Hint 4. Improvement Query Optimizer Statistics Learned Statistics 3. Feedback Cost model Adjustment Execution Plan SQL Execution Engine Query Results Estimated Cardinality Actual Cardinality 1. Monitoring Estimation Error Analyzer 2. Analyzing < 그림 3> 스스로학습하는옵티마이저의프레임워크 원에재학중생각한아이디어이기도하지만, 현재학계나산업계에서활발히연구가진행중이다. < 그림 3> 은스스로학습하는옵티마이저의일반적인프레임워크이다. 그림왼편은지금까지의일반적인옵티마이저의동작과정이다. 앞에서설명한옵티마이저의여러가지한계점으로인해특정SQL에대해좋지않은실행계획을생성하는경우, 사용자가원인을분석해서 < 표2> 와같은조처를취하지않는경우해당질의에대해서는항상똑같은실행계획을생성하고수행하게된다. < 그림 3> 의오른편은스스로학습하는옵티마이저의개념적인동작과정을보여주는데, 크게다음4단계로이루어진다. 모니터링 (Monitoring) 분석 (Analyzing) 피드백 (Feedback) 개선 (Improvement) 분석단계분석단계는옵티마이저의예상치 ( 예를들어, 로우소스별결과카디널리티 ) 와모니터링단계의실제값과비교를해서, 특정로우소스에서예상치대비실제값사이에심각한차이가발생한경우최적화과정에서어떤이유로예상치가틀렸는지 ( 예를들어균등분포의오류, 조인독립가정의위배 ) 를분석하는단계이다. 그런데, 다양한옵티마이저오류의원인들과이원인들이어떤식으로실행계획의선택에나쁜영향을미쳤는지를자동적으로정확하게분석하기란쉽지않다. 피드백단계피드백단계는앞에서분석된오류의원인을제거또는보정하기위해통계치, SQL 문, 옵티마이저의내부비용모델등을조정하는단계를일컫는다. 이단계또한앞에서분석된원인을어떤식으로보정하는것이완벽한보정인지를결정하기란쉽지않다. 모니터링단계이단계는옵티마이저가선택한실행계획을수행했을때, 실행계획상의각로우소스 (row source) 의실행정보 ( 예를들어실제조건을만족하는튜플수, 중첩루프조인의결과튜플수및논리적 / 물리적버퍼읽기등 ) 를정확하게산출한다. 이단계는 SQL 실행엔진모듈에서담당해야하며, 이모니터링을위해서약간의 ( 일반적으로 5% 미만 ) 오버헤드가발생한다. 개선단계개선단계는피드백단계에서새로이반영된통계정보, 옵티마이저내부비용모델등을이용해서최적화를수행해서, 주어진 SQL 문에대해더나은실행계획을생성하는단계이다. 그러나, 스스로학습하는옵티마이저의개념과프레임워크는아주초보 2003 SUMMER 037

9 적인수준에머물러있으며실용화되기위해서는많은연구와기술개발및필드테스트를통한검증이있어야할것이다. 미터로이용해서변경할수있어야한다. 스스로학습하는옵티마이저의구현방안들스스로학습하는옵티마이저프레임워크의구현방안은여러가지가있을수있다. 첫째, 이프레임워크를 DBMS내에서흡수해서기존의옵티마이저를확장 / 구현하는것이다. 하지만, 이기술이완전하게검증된것이아니라는문제가있다. 오라클DBMS의경우도이학습하는옵티마이저기능을현재단계에서제공하는것은힘들지않겠지만, 현재기술로는완전한자동화가거의불가능하기때문에이기능을제공하지않는것으로판단된다. 둘째, 써드파티도구로서분석 / 피드백 / 개선단계를지원하는방안이다. DBMS엔진에서는모니터링단계의정보만생산하고, 도구에서자동적으로주어진 SQL에대해옵티마이저의오류원인을분석하고, 피드백정보를어떻게저장하고, 주어진 SQL을어떻게개선할것인지에대한기능을제공하는것이다. 마지막으로, SQL 튜닝전문가가수동으로분석 / 피드백 / 개선을수행하는것이다. 현재 ( 주 ) 엑셈과성균관대 VLDB 연구실에서는두번째방안을지원하는도구를개발중이다. 이를위해 Oracle9i Database부터제공하는 V$SQL_PLAN_STATISTICS_ALL 등의뷰를이용하고있는데, 이뷰는스스로학습하는옵티마이저를위한모니터링단계에서필요한다양한정보를제공하고있다. 개발중인도구의일차목표는1) 이뷰에서제공하는실행계획상의예상카디널리티와실제카디널리티의값을비교해서심각한차이가발생하는경우,2) 앞서의다양한옵티마이저의오류의근본원인과실행계획생성에미치는영향을분석하고, 이를보정하기위해3) 힌트기능을이용한SQL 재작성, 통계정보생성권고, 옵티마이저관련파라미터값조정권고등의기능을제공할것이다. 좀더나아가서는 V$SQL_PLAN_STATISTICS_ALL 뷰에서제공하는카디널리티이외에 I/O 비용, 버퍼캐시적중률등의정보를기반으로학습하는기능도추가할수있다. 써드파티도구방식이기능적으로완전하기위해서는향후오라클 DBMS에서두가지인터페이스를제공해야할것이다. 우선 < 그림3> 의분석단계에서학습한새로운통계정보를저장하고, 옵티마이저가새로최적화하는과정에서이를활용할수있도록한다. 예를들면, 균등분포를가정했는데, 특정칼럼이특정한값에대해치우친 (skewed) 경우이값에대한통계치를저장하고, 나중에카디널리티를계산할때이새로운값을기반으로카디널리티예상치를보정할수있어야한다. 둘째로, 옵티마이저내부의비용모델을변경할수있는인터페이스를제공해야한다. 예를들어두테이블에서조인되는칼럼들사이에조인독립성조건이만족되지않는경우, 조인카디널리티계산공식에가중치를파라 학습하는옵티마이저에대한관심을기대하며이글에서는관계형 DBMS의옵티마이저의근본적인한계점에대해살펴보았다. 이문제점에대해단시일내에관계형DBMS 벤더들이완벽한해결책을내놓기는힘들것이다. 따라서, 사용자입장에서 1) 이문제의근본적인이유를제대로이해하고 2) 이를해결하기위해어떤기능들이개별 DBMS 에서제공되는지를파악하고3) 현재관계형DBMS의옵티마이저의한계를해당기능들을이용해서어떻게극복할것인지를고민하는수밖에없다. 또한, 옵티마이저의근본적인한계를극복하기위한다양한노력들중에서, 필자가판단하기에앞으로주요한방향이될학습하는옵티마이저의프레임워크와구현방안에대해간단히언급하였다. 사실이분야는아직까지미개척분야이고, 각단계별로데이타베이스튜닝전문가들이나름대로기여할여지가엄청나게많은부분이다. 이글이데이타베이스관련종사자들에게관계형옵티마이저의근본적인한계를이해하는데큰맥락에서도움이되기를바라고, 조만간오라클 DBMS 옵티마이저에관한좀더완벽하고포괄적인내용을포함하는자료 [ 참고문헌 5] 를제공할수있기를희망한다. 또한, 현재필드에종사하는여러전문가들과의교류를통해서스스로학습하는옵티마이저의요소기술들에대해깊이있는논의를할수있는기본토대가되었으면하는바람이다. 참고문헌 1. 이상원, 오라클옵티마이저의기본원리, 오라클매거진코리아 2002년겨울호 2. Pat. Selinger 외다수, Access Path Selection in a Relational Database System, ACM SIGMOD Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom, Database Systems: The Complete Book(Chapter 16), Prentice Hall, Wolfgang Breitling, "Fallacies of Cost Based Optimizer," 2003 Hotsos Symposium on Oracle System Performance 5. 이상원, 오라클옵티마이저내부동작원리의모든것, In Preparation 6. Oracle Corp. Query Optimization in Oracle9i, 2002 Technical White Paper 7. Benoit Dageville, Mohamed Zait, SQL Memory Management in Oracle9i, VLDB Frederick R. Reiss, Tapas Kanungo, A Characterization of the Sensitivity of Query Optimization to Storage Access Cost Parameters, SIGMOD Oracle Corp., Oracle9i Database Performance Tuning Guide and Reference Release 2 (9.2), release2/server.920/a96533/toc.htm 038 ORACLE KOREA MAGAZINE

오라클옵티마이저의기본원리

오라클옵티마이저의기본원리 Oracle Technical Note 오라클옵티마이저의기본원리 현재모든관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 개발자나관리자들이이옵티마이저의기본동작원리를이해한다면, 여러면에서도움이되리라는생각에이글을쓰게되었다. 먼저, 옵티마이저에대한기본적인이해를구한다음, 오라클옵티마이저에대해알아보도록한다. 본론에앞서, 이글은관계형데이타베이스개념에일정정도익숙한독자들을대상으로작성되었기때문에,

More information

Jerry Held

Jerry Held ,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan I/O Index Scan ROWID I/O Fast Full Index Scan scan scan scan I/O scan scan Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan scan I/O scan Index Scan ROWID scan I/O Fast Full Index Scan scan scan I/O Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

SQL Tuning Business Development DB

SQL Tuning Business Development DB SQL Tuning Business Development DB Oracle Optimizer 4.1 Optimizer SQL SQL.. SQL Optimizer :.. Rule-Based Optimization (RBO), Cost-Based Optimization (CBO) SQL Optimizer SQL Query Parser Dictionary Rule-Based

More information

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

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname

More information

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

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

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

Microsoft Word - SQL튜닝_실습교재_.doc * 실습환경 * 1. 오라클데이터베이스의튜닝실습을하기위해서는기본적인테이블과데이터가필요합니다. 다음과같은절차에의해환경설정을하십시오. 1) 강사가제공하는 Export 된파일 (scott.dmp) 을자신의 ORACLE 경로에저장하십시오. [C: ] cd C: ORACLE ORA92 BIN [C: ] dir scott.dmp scott.dmp 2) SYSTEM 사용자로접속하여

More information

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

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

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

歯sql_tuning2

歯sql_tuning2 SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUERY 을실행하게된다면 BLOCK I/O 가많이발생하게된다. 이런이유로 QUERY 의성능은좋지못할것이다.

More information

결과보고서

결과보고서 오픈 소스 데이터베이스 시스템을 이용한 플래시 메모리 SSD 기반의 질의 최적화 기법 연구 A Study on Flash-based Query Optimizing in PostgreSQL 황다솜 1) ㆍ안미진 1) ㆍ이혜지 1) ㆍ김지민 2) ㆍ정세희 2) ㆍ이임경 3) ㆍ차시언 3) 성균관대학교 정보통신대학 1) ㆍ시흥매화고등학교 2) ㆍ용화여자고등학교 3)

More information

데이터베이스-4부0816

데이터베이스-4부0816 04 269 270 2012 Database White Paper 271 272 2012 Database White Paper 273 274 2012 Database White Paper 275 276 2012 Database White Paper 277 278 2012 Database White Paper 279 280 2012 Database White

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

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

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

More information

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

Microsoft PowerPoint - Oracle Data Access Pattern.ppt Special Key Note Oracle Data Access Pattern ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Data Access Pattern? > 데이터를 I/O 하는방식 Index Scan Full Table Scan Rowid 2 Why is The Pattern Important? >SQL 의성능을좌지우지함. >SQL

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용]

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용] Special Key Note Oracle Data Join Method ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Join? JOIN is Multiply. 2 Why is the Join Method so important? 잘못사용하면큰재앙이따른다.( 위의그림처럼 ) 두개의집합을연결할수있는유일한수단. Join Method 는모든 DBMS

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

슬라이드 제목 없음

슬라이드 제목 없음 뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서, 데이터독립성을높이기위해서사용됨 시스템카탈로그는시스템내의객체 ( 기본릴레이션, 뷰, 인덱스,

More information

강의 개요

강의 개요 정규화와 SELECT (II) 웹데이터베이스 학과 학생 과목 학과 지도교수 학과학번성명 수강과목 담당교수 A 김수정 A 0001 고길동 성질이론 김수정 B 허영만 A 0002 둘리 한식의멋 허영만 C 강풀 B 0003 희동이 심리학의이해 강풀 과목 _ 성적 학번 수강과목 성적 0001 성질이론 A 0001 한식의멋 C 0002 성질이론 A 0002 한식의멋

More information

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

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 9 장인덱스를배웁니다 1 1. 인덱스란무엇인가? 2 - ROWID ( 주소 ) 조회하기 SCOTT>SELECT ROWID, empno, ename 2 FROM emp 3 WHERE empno=7902 ; ROWID EMPNO ENAME --------------------------------- ----------

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

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

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL

More information

SQL PLAN MANAGEMENT 활용 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 오라클은비롯한많은관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 옵티마이저는유저가수행하는 SQL 을받아실행계획을생성하고, 실제 SQL 은이실행계획을

SQL PLAN MANAGEMENT 활용 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 오라클은비롯한많은관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 옵티마이저는유저가수행하는 SQL 을받아실행계획을생성하고, 실제 SQL 은이실행계획을 SQL PLAN MANAGEMENT 활용 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 오라클은비롯한많은관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 옵티마이저는유저가수행하는 SQL 을받아실행계획을생성하고, 실제 SQL 은이실행계획을통해서수행된다. 데이터베이스운영시평소잘수행되던 SQL 이성능이슈를발생시키는때가있는데, 그원인이

More information

Oracle Database 10g: Self-Managing Database DB TSC

Oracle Database 10g: Self-Managing Database DB TSC Oracle Database 10g: Self-Managing Database DB TSC Agenda Overview System Resource Application & SQL Storage Space Backup & Recovery ½ Cost ? 6% 12 % 6% 6% 55% : IOUG 2001 DBA Survey ? 6% & 12 % 6% 6%

More information

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8> 데이터베이스 (Database) ER- 관계사상에의한관계데이터베이스설계 문양세강원대학교 IT특성화대학컴퓨터과학전공 설계과정 [ 그림 3.1] 작은세계 요구사항들의수정과분석 Functional Requirements 데이타베이스요구사항들 FUNCTIONAL ANALYSIS 개념적설계 ERD 사용 High level ltransaction Specification

More information

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY; Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES

More information

ePapyrus PDF Document

ePapyrus PDF Document Goodus 기술노트 [38 회 ] Author 윤병길, 이은정 Creation Date 2009-02-27 Last Updated Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자변경자 ( 작성자 ) 주요내용 1 2009-02-27 윤병길, 이은정문서최초작성 Contents

More information

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

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

RDB개요.ppt

RDB개요.ppt 1 2 3 < > 1 SQL SQL 2 SQL 3 column DEPT DEPT# DNAME BUDGET D1 D2 D3 Marketing Development Research 10M 12M 5M tuple EMP EMP# ENAME DEPT# SALARY D1 40 D1 45 E1 E2 E3 Lopez Cheng Finzi D2 30 E4 Satio D2

More information

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc 특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력

More information

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

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B 8 제장오라클 81 8.1 뷰 8.2 관계 DBMS의시스템카탈로그 8.3 오라클의시스템카탈로그연습문제 뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부 뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서,

More information

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드]

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드] 제 2 장 데이타베이스시스템개념과아키텍처 Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe Copyright 2002 황규영홍의경음두헌박영철김진호조완섭 목차 2.1 데이타모델, 스키마, 인스턴스 2.2 DBMS 아키텍처와데이타독립성 2.3 데이타베이스언어와인터페이스 2.4 데이타베이스시스템환경

More information

Query Process 단계처리내용 Parse 단계 Syntax, Security, Semantics의체크및Simple transformation 을수행한다 < 표 2>. Query Rewrite 단계서브질의와뷰의병합을수행하고, OR Expansion 작업을수행한다.

Query Process 단계처리내용 Parse 단계 Syntax, Security, Semantics의체크및Simple transformation 을수행한다 < 표 2>. Query Rewrite 단계서브질의와뷰의병합을수행하고, OR Expansion 작업을수행한다. Oracle Optimizer 의원리이해및 SQL & 애플리케이션의튜닝 ( 상 ) 옵티마이저의원리와특징 글 최세훈 ( 한국오라클 Tech Sales Consulting 본부 DB Tech 팀 ) sehoon.choi@oracle.com 다수의데이타베이스튜닝과 SQL / 애플리케이션튜닝을통해튜닝의효과를확신하는필자가유익한튜닝정보를제공한다. 여기에서필자는 SQL

More information

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

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

More information

소만사 소개

소만사 소개 개인정보 라이프사이클에 걸친 기술적 보호대책 - DB방화벽과 PC내 개인정보 무단 저장 검출 및 암호화솔루션 2009.10 소만사 소개 소만사 [소프트웨어를 만드는 사람들 ] 개인정보보호 토털 솔루션 전문업체, 해외수출 기업 금융/통신/대기업/공공 600여 고객 보안1세대 기업 97년 창립(13년) 마이크로소프트 선정 - 10년 후 세계적 소프트웨어 기업 장영실상(IR52),

More information

0. Intro ORACLE 社 Oracle, My SQL, Exadata IBM 社 DB2, Informix SAP 社 ASE, IQ, ASA Microsoft 社 SQL Server Teradata 社 Teradata 공통점은? Altibase 社 Altibase

0. Intro ORACLE 社 Oracle, My SQL, Exadata IBM 社 DB2, Informix SAP 社 ASE, IQ, ASA Microsoft 社 SQL Server Teradata 社 Teradata 공통점은? Altibase 社 Altibase 목 차 SQL 기본과활용 2010. 09. 29 삼성 S D S 정성철수석 ( D A / T A ) 1. RDBMS 2. SQL 3. SELECT 4. INDEX 5. MODELING 6. JOIN 7. DRIVING TABLE 8. SUBQUERY 9. OPTIMIZER 10. 과목2. ERD 11. 과목2. 목차 0. Intro ORACLE 社 Oracle,

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 2. 데이터베이스관리시스템 2013.03.11. 오병우 컴퓨터공학과 Inconsistency of file system File System Each application has its own private files Widely dispersed and difficult to control File 중심자료처리시스템의한계 i. 응용프로그램의논리적파일구조는직접물리적파일구조로구현

More information

untitled

untitled Oracle DBMS 로그인의접근제어우회 취약점분석 2006. 2. 9 인터넷침해사고대응지원센터 (KISC) 본보고서의전부나일부를인용시반드시 [ 자료 : 한국정보보호진흥원 (KISA)] 룰명시하여주시기바랍니다. 개요 o 2005년이후 Oracle Critical Patch Update(CPU) 는 Oracle사제품대상으로다수의보안패치및보안패치와관련된일반패치를발표하는주요수단임

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

슬라이드 1

슬라이드 1 { Query Optimizing } 김정선 DB 사업부수석컨설턴트필라넷 (Feel@NET) Microsoft SQL Server MVP 김정선 (Jungsun Kim) Email: jskim@feelanet.com Blog: http://blog.naver.com/visualdb ( 현재소속 ) 필라넷, DB 사업부수석컨설턴트 SQL Server Academy/

More information

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint - QVIZMVUMWURI.pptx 데이타베이스시스템 2011.03 충북대학교경영정보학과조완섭 (wscho@chungbuk.ac.kr) Chap. 4 SQL 질의어 C4 2 목차 - SQL2에서데이터정의, 제약조건및스키마변경 - SQL에서의기본질의 - 더복잡한 SQL 질의들 - SQL에서삽입, 삭제, 갱신구문 - SQL 뷰 - 주장으로추가적인제약조건명시 - SQL의부가적인기능들 Ch4 3 SQL

More information

Microsoft PowerPoint Python-DB

Microsoft PowerPoint Python-DB 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음

More information

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table 쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table http://academy.hanb.co.kr 6장. 해시테이블 테이블 Hash Table 사실을많이아는것보다는이론적틀이중요하고, 기억력보다는생각하는법이더중요하다. - 제임스왓슨 - 2 - 학습목표 해시테이블의발생동기를이해한다. 해시테이블의원리를이해한다. 해시함수설계원리를이해한다. 충돌해결방법들과이들의장단점을이해한다.

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

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

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view

More information

초보자를 위한 분산 캐시 활용 전략

초보자를 위한 분산 캐시 활용 전략 초보자를위한분산캐시활용전략 강대명 charsyam@naver.com 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 그러나현실은? 서비스에필요한것은? 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 적절한기능 서비스안정성 트위터에매일고래만보이면? 트위터에매일고래만보이면?

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미. 비교연산자로 " > " 를사용했다면메인쿼리는서브쿼리의값들중어떤값이라도만족하면되므로서브쿼리의결과의최소값보다큰모든건이조건을만족 - SOME 과동일 1번

객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미. 비교연산자로  >  를사용했다면메인쿼리는서브쿼리의값들중어떤값이라도만족하면되므로서브쿼리의결과의최소값보다큰모든건이조건을만족 - SOME 과동일 1번 Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미.

More information

< 그림 1> Nested Loop Join - 이너테이블에인덱스가있을경우 < 그림 2> Nested Loop Join - 이너테이블에인덱스가없는경우 간은느리다. 즉첫번째로우를받을준비가되어있는단계까지를실행시간으로볼때실행시간은빠르나 Fetch 시간은느리다. NLJ는메모리

< 그림 1> Nested Loop Join - 이너테이블에인덱스가있을경우 < 그림 2> Nested Loop Join - 이너테이블에인덱스가없는경우 간은느리다. 즉첫번째로우를받을준비가되어있는단계까지를실행시간으로볼때실행시간은빠르나 Fetch 시간은느리다. NLJ는메모리 Oracle Optimizer 의원리이해및 SQL & 애플리케이션의튜닝 ( 하 ) 오라클튜닝기법의 100% 활용 글 최세훈 ( 한국오라클 DB Tech 팀 ) sehoon.choi@oracle.com 지난회에서는튜닝에들어가기위해먼저 Oracle Optimizer 의원리와특징에대해서설명했다. 이번회에서는조인메소드별특징과플랜보는법을이해하고, 실제오라클에서제공하는튜닝기법들을활용해보도록하자.

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

된테이블은파티션되지않은테이블과아무런차이가없습니다. 그러므로애플리케이션변경작업은요구되지않습니다. 테이블은 파티셔닝키 (partitioning key) 을통해분할됩니다. 파티셔닝키란특정로우가어떤파티션에위치하는지정의하는일련의컬럼을말합니다. Oracle Database 11g

된테이블은파티션되지않은테이블과아무런차이가없습니다. 그러므로애플리케이션변경작업은요구되지않습니다. 테이블은 파티셔닝키 (partitioning key) 을통해분할됩니다. 파티셔닝키란특정로우가어떤파티션에위치하는지정의하는일련의컬럼을말합니다. Oracle Database 11g 참고 : 본문서는정보제공만을목적으로제공됩니다. 본문서는일체의자료, 코드, 또는기능을보장하지않으며, 본문서의정보에의존하여구매결정을내려서도안됩니다. 본문서에서설명된오라클제품또는기능의개발, 출시, 기능제공시점등은전적으로오라클의재량에의해결정됩니다. ORACLE PARTITIONING ORACLE PARTITIONING 8 세대에걸쳐검증된기능 업계에서가장광범위하고포괄적인솔루션

More information

개발자를 위한 오라클 SQL 튜닝

개발자를 위한 오라클 SQL 튜닝 126 개발자를위한 오라클 SQL 튜닝 이경오지음 126 개발자를위한 오라클 SQL 튜닝 이경오지음 표지사진강수진이책의표지는강수진님이보내주신풍경사진을담았습니다. 리얼타임은독자의시선을담은풍경사진을책표지로보여주고자합니다. 사진보내기 ebookwriter@hanbit.co.kr 개발자를위한오라클 SQL 튜닝 초판발행 2016 년 2 월 16 일 지은이이경오 / 펴낸이김태헌펴낸곳한빛미디어

More information

*2009데이터_3부

*2009데이터_3부 Database White Paper Database White Paper Database White P aper 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 05 06 06 07 07 ~

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

SQL 실행계획을 이용한 패턴튜닝_ _최종.ppt [호환 모드]

SQL 실행계획을 이용한 패턴튜닝_ _최종.ppt [호환 모드] SQL 과실행계획을이용한튜팅 엔코아컨설팅 컨설팅사업본부본부장 김동훈이사 CONTENTS SQL 의개념실행계획패턴실행계획의최적화 SQL 의개념 - 수행단계 SQL 은데이터처리방법을기술한것이아니라단지필요한데이터를요구한것임 SQL Parser Parsed Query Query Transfrmer Transfrmed Query Estimatr Plan Generatr

More information

Altibase Administrator's Manual

Altibase Administrator's Manual ALTIBASE HDB TM Administration Performance Tuning Guide Release 6.5.1 (January 2, 2017) ------------------ ALTIBASE Administration Performance Tunning Guide Release 6.5.1 Copyright c 2001~2017 ALTIBASE

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

Altibase Administrator's Manual

Altibase Administrator's Manual ALTIBASE HDB Administration Performance Tuning Guide Release 6.3.1 (August 19, 2015) ----------------------------------------------------------- ALTIBASE Administration Performance Tunning Guide Release

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

NLJ BATCH 과부분범위처리 엑셈컨설팅본부 / DB 컨설팅팀오수영 개요 오라클은새로운버전이출시될때마다한층업그레이드된기능들이추가된다. 이기능들은사용자에게편리함을제공함은물론이고, 기존의기능들이성능적으로업그레이드되어보다강력해지기도한다. 그러나때로는새롭게추가된기능으로인해,

NLJ BATCH 과부분범위처리 엑셈컨설팅본부 / DB 컨설팅팀오수영 개요 오라클은새로운버전이출시될때마다한층업그레이드된기능들이추가된다. 이기능들은사용자에게편리함을제공함은물론이고, 기존의기능들이성능적으로업그레이드되어보다강력해지기도한다. 그러나때로는새롭게추가된기능으로인해, NLJ BATCH 과부분범위처리 엑셈컨설팅본부 / DB 컨설팅팀오수영 개요 오라클은새로운버전이출시될때마다한층업그레이드된기능들이추가된다. 이기능들은사용자에게편리함을제공함은물론이고, 기존의기능들이성능적으로업그레이드되어보다강력해지기도한다. 그러나때로는새롭게추가된기능으로인해, 사용자들이큰혼란을겪기는경우도발생된다. 그 대표적인예로는 GROUP BY 가 SORT GROUP

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý 5 중 1 2007-06-12 오후 5:52 Home Login Register SQL Query SQL Tuning Oracle Administration Tools References Boards SoQooL? 쏘쿨 SoQooL) 이란? Q&A Tips Lectures Function Lectures Oracle Spatial Tips Scripts SQL

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

041~084 ¹®È�Çö»óÀбâ

041~084 ¹®È�Çö»óÀбâ 1998 60 1 1 200 2 6 4 7 29 1975 30 2 78 35 1 4 2001 2009 79 2 9 2 200 3 1 6 1 600 13 6 2 8 21 6 7 1 9 1 7 4 1 2 2 80 4 300 2 200 8 22 200 2140 2 195 3 1 2 1 2 52 3 7 400 60 81 80 80 12 34 4 4 7 12 80 50

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

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

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

More information

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용 Oracle hacking 작성자 : 임동현 (ddongsbrk@naver.com) 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용 Skill List 1. Oracle For Pentest 1. Find TNS Listener (Default 1521 port) (with nmap or amap) 2. Get the

More information

Microsoft PowerPoint - CNVZNGWAIYSE.pptx

Microsoft PowerPoint - CNVZNGWAIYSE.pptx 대용량데이터처리를위한 Sharding 2013.1. 이동현 DBMS 개발랩 /NHN Business Platform SQL 기술전략세미나 2 대용량데이터를위한솔루션은 NoSQL 인가, RDBMS 인가? 모든경우에대해어떤하나의선택을하자는게아닙니다. SQL 기술전략세미나 3 언제, 그리고왜 RDBMS 를선택해야하는가? NoSQL 과다른 RDBMS 만의특징이필요할때

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

More information

슬라이드 1

슬라이드 1 장연립방정식을 풀기위한반복법. 선형시스템 : Guss-Sedel. 비선형시스템 . 선형시스템 : Guss-Sedel (/0) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정식을푸는반복법중에서 가장보편적으로사용되는방법이다. 개의방정식에서 인 ( 대각원소들이모두 0 이아닌 ) 경우를다루자. j j b j b j j j

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

SQL

SQL 데이터베이스및 SQL 언어의기초 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 1 / 36 Part I 데이터베이스 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 2 / 36 데이터의구성및표현 개체 (entity): DB가표현하려는유형 / 무형적정보의대상속성 (attribute): 개체가갖는특성도메인

More information

Microsoft Word - 04_EXCEPTION.doc

Microsoft Word - 04_EXCEPTION.doc ORACLE EXCEPTION INTRODUCTION PLSQL 블록이 PARSE 되는동안에발생되는에러를컴파일에러 (Compilation Error) 라고부르며, PLSQL 블록이실행되는동안에발생되는에러를런타임에러 (Run-Time Error) 라고부르는데, 이런타임에러를오라클에서는예외 (Exception) 라고부른다. 오라클의예외 (Exception) 는크게두가지로구분된다.

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

<B3EDB4DC28B1E8BCAEC7F6292E687770>

<B3EDB4DC28B1E8BCAEC7F6292E687770> 1) 초고를읽고소중한조언을주신여러분들게감사드린다. 소중한조언들에도불구하고이글이포함하는오류는전적으로저자개인의것임을밝혀둔다. 2) 대표적인학자가 Asia's Next Giant: South Korea and Late Industrialization, 1990 을저술한 MIT 의 A. Amsden 교수이다. - 1 - - 2 - 3) 계량방법론은회귀분석 (regression)

More information

CRM Fair 2004

CRM Fair 2004 easycrm Workbench ( ) 2004.04.02 I. CRM 1. CRM 2. CRM 3. II. easybi(business Intelligence) Framework 1. 2. - easydataflow Workbench - easycampaign Workbench - easypivot Reporter. 1. CRM 1.?! 1.. a. & b.

More information

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770>

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770> (1) SQL ********************************************************* [ 기-07년5 월] 1. 다음의관계대수문장을 SQL로표현한것으로옳은것 π name, dept( σ year =3 (student)) 가. SELECT name, dept FROM student HAVING year=3; 나. SELECT name,

More information

DB 성능고도화핵심원리 비투엔컨설팅 수석컨설턴트 조시형

DB 성능고도화핵심원리 비투엔컨설팅 수석컨설턴트 조시형 DB 성능고도화핵심원리 비투엔컨설팅 수석컨설턴트 조시형 원리를알아야답이보인다!! SQL 개발자 (Developer) 데이터모델을통해업무를이해하고, SQL 을정확히구사하는능력 DB 성능고도화전문가양성 SQL 전문가 (Professional) 성능을고려한고급 SQL 작성능력 DB 성능고도화핵심원리실습문제 declare l_ 수납금액 number; begin for

More information

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

More information

슬라이드 1

슬라이드 1 2015( 제 8 회 ) 한국소프트웨어아키텍트대회 Database In-Memory 2015. 07. 16 한국오라클 김용한 Agenda 1 2 3 4 5 6 In-Memory Computing 개요주요요소기술 In-Memory의오해와실제적용시고려사항 12c In-Memory Option의소개결론 2 1. In-Memory Computing 개요 전통적인데이터처리방식

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA The e-business Studies Volume 17, Number 6, December, 30, 2016:275~289 Received: 2016/12/02, Accepted: 2016/12/22 Revised: 2016/12/20, Published: 2016/12/30 [ABSTRACT] SNS is used in various fields. Although

More information

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

PowerPoint Presentation

PowerPoint Presentation Computer Science Suan Lee - Computer Science - 06 데이터베이스 1 06 데이터베이스 - Computer Science - 06 데이터베이스 2 목차 1. 데이터베이스의개요 2. 데이터모델 3. 관계형데이터베이스 4. SQL 5. 모바일데이터베이스 - Computer Science - 06 데이터베이스 3 데이터베이스의개념

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

Microsoft PowerPoint - 1_3_DBA_SQL_tuning

Microsoft PowerPoint - 1_3_DBA_SQL_tuning 아주특별한 SQL 튜닝 씨퀄로 김정선 아주특별한 Level 400 100 개념및소개수준 200 중간수준 300 고급수준 400 전문가수준 선수지식불필요 100 에더하여기술적세부사항설명 200 에더하여능숙한사용경험, 아키텍처지식필요 SINCE 2002 SQL Server Specialist Member & Leading PASS Korea Member Microsoft

More information