2009/03 20

JOIN

Nested Loop JOIN select a.F!,...,b.F1 from tab1 a, tab2 b where a.key1 = b.key2 and a.f1 = 'ab' and a.f2 ='10' - 순차적(부분범위처리가능) - 종속적(먼저치리되는 테이블의 처리범위에 따라 처리량 결정) - 랜덤(Random)액세스 위주 - 연결고리 상태에 따라 영향이 크다 - 주로 좁은 범위 처리에 유리 -싱글블럭Random IO가 많다. 다량데이터 조인할때 속도 저하 - 한쪽 인덱스를 안되게 만들면 다른쪽 인덱스를 무조건 사용한다. - OLTP시스템에서 사용 : 주문처리 쇼핑몰 등 데이터량이 작은것 - Driving Range가 좁을때 사용 Sort Merge JOIN select /*+ use_merge(a b) ..

개발 등/ORACLE 2009.03.31

인덱스(Index) 전략

결합인덱스 컬럼순서 결정 1. 항상 사용하는가? 2. 항상 '=' 로 사용되는가? 3. 분포도가 좋은 커럼 우선 4. sort 순서에 따라 5. 어떤컬럼을 추가하는가?(후보컬럼) where 납품일자 >= :v1 수렴하는 조건은 굉장히 좋은 조건이다 OLTP 확줄어드는게 앞에 나와야한다 조건이 하나나와도 인덱스역활을 할 수 있다 멍청한넘이 나오면 인덱스 안읽어야되는것도 읽게 된다 DW 소트를 대신하는 인덱스역활 인덱스 선정 절차 1. 해당 테이블의 액세스 유형 조사 2. 대상 컬럼의 선정 및 분포도 분석 3. 반복수행되는 액세스경로(Critical Access Path)의 해결 4. 클러스터링 검토 5. 인덱스 컬럼의 조합 및 순서의 결정 6. 시험생성 및 테스트 7. 수정이 필요한 애플리케이션 조사 및 ..

개발 등/ORACLE 2009.03.31

[펀글] Spring Framework의 구조에 대해서

Inversion of Control in Spring Framework 작성자 : 김문규 (MyMK) 최초 작성일 : 2008. 7.10 IoC는 Spring Framework의 장점을 꼽으라면 가장 먼저 언급되는 개념입니다. 한국어로 변역하면 '제어의 역행'! 한국어가 더 어려워 보입니다. 비슷한 말로 Dependency Injection(DI)라는 말고 있습니다. 한국말로는 의존성 삽입! 아하~ 조금 이해가 되시나요? 간단하게 이해하기 쉽게 같이 알아보지요. 1. 개념 객체 간의 의존관계를 객체 내부에 선언 또는 정의하지 않고, 외부의 조립기를 이용하여 의존 관계를 설명한다는 것 2. 예제 객체간의 연관성을 선언하는 3가지 방법을 보고, 문제점이 어떻게 IoC(DI)를 이용해서 해결되는 지 알아보지..

개발 등/SPRING 2009.03.30

제우스(JEUS)와 이클립스 연동하기

출처 : http://windydh.egloos.com/4618727 필수 파일 1. eclipse3.2 -http://www.eclipse.org 2. JMaker 3.2 plug-in -http://technet.tmax.co.kr 3. JMaker license -http://technet.tmax.co.kr 4. JEUS5.0 5. 이클립스에서 제우스 서버 구동하기 ※ JMaker 3.2 plug-in 삽입 - 압축 풀기 후 eclipse3.2/ 폴더 안에 features 폴더와 plugins 폴더를 덮어쓰기 한다. ※ JMaker license 삽입 신청하여 받은 license 파일을 eclipse3.2/ 폴더 안에 license 폴더를 생성하여 해당 파일을 추가한다. ※ Local JEUS S..

가상의 논리적인 테이블

1. 입력 프로세스 데이터를 입력하면 INSERTED 라는 가상의 논리적인 테이블에 데이터가 들어간다 트랜잭션이 끝나면(commit되면) INSERTED 테이블의 내용이 물리적인 테이블에 반영되고 가상의 테이블은 삭제된다. 2. 삭제 프로세스 데이터를 삭제하면 물리적 테이블의 데이터가 DELETED라는 가상의 논리적인 테이블로 옮겨진다. 트랜잭션이 끝나면 DELETED 가상테이블이 삭제되면서 데이터 역시 삭제되게 된다, 3. 수정 프로세스 데이터를 수정하게 되면 먼저 수정될 데이터가 DELETED 테이블에 옮겨진다 새로운 값이 INSERTED 테이블에 옮겨진다. 트랜잭션이 완료되면 INSERTED 테이블의 내용이 물리적인 테이블에 반영되고 INSERTED와 DELETED 테이블은 삭제된다.

개발 등/ORACLE 2009.03.21

인덱스(Index)의 유형과 특성

1. 클러스터드 인덱스(Clustered Index) 색인을 만들기 원하는 컬럼에 클러스터드 인덱스를 만들게 되면 기본적으로 그 행을 기준으로 물리적으로 데이터를 정렬시킨다. 한 테이블에 하나의 클러스터드 인덱스만 만들 수 있다. 기본키를 만들면 기본적으로 기본키에 클러스터드 인덱스가 만들어진다. # 인덱스 생성 create index IndexName on TableName(Column[,Column]); create clustered index IndexName on TableName(Column); # 인덱스의 생성과정 1. 데이터 페이지에 클러스터드 인덱스 칼럼을 기준으로 데이터가 물리적으로 정렬된다. 2. 각 데이터 페이지의 첫번째 레코드의 인덱스 칼럼을 기준으로 키 값에 해당하는 상위 레벨의 ..

개발 등/ORACLE 2009.03.21