본문 바로가기

개발/데이타베이스39

조인 JOIN 방식 □Join의 종류는 5가지가 있습니다. INNER Join OUTER Join CROSS Join FULL OUTER Join SELF Join Join의 종류는 논리적 Join이라고 합니다. □Join의 방식은 3가지가 있습니다. Nested Loop Join - 중첩반복 Merge Join - 정렬병합 Hash Join - 해시매치 Join의 방식은 물리적 Join이라고 합니다. JOIN의 방식에 대해서 알아보겠습니다. ◆중첩반복(Nested Loops) 조인 바깥 테이블의 처리 범위를 하나씩 액세스하면서 그 추출된 값으로 안쪽 테이블을 조인하는 방식 순차적으로 처리된다. 바깥 테이블과 일치하는 값을 안쪽 테이블에서 찾아야 하므로 안쪽 테이블의 해당 열에 인덱스가 필요하다. 메모리 사용량은 가장 적다.. 2017. 3. 10.
ORACLE BETWEEN DATE 쿼리 ..... 어쩌구 ...AND B.PROJECT_START_DATE BETWEEN TO_DATE(20140101, 'YYYYMMDD') AND TO_DATE(20161231, 'YYYYMMDD') ; 2017. 3. 9.
DBMS_STATS 패키지 오라클에서 테이블이나 인덱스의 현재 테이블 레코드의 개수, 행의 평균 길이, 데이터가 저장된 블록 수, 컬럼값의 최대값등을 통계정보하며 DBA_TABLES, DBA_TAB_COLUMNS, DBA_INDEXES, INDEX_STATS 등 같은 데이터 딕셔너리 뷰를 통해 확인할 수 있다. 오라클은 테이블이나 인덱스와 같은 데이터베이스 오브젝트에 대한 통계 정보 생성을 용이하게 하기 위해 DBMS_STATS 패키지를 제공하는데 이 패키지를 이용하면 테이블이나 인덱스의 모든 데이터를 근간으로 통계 정보를 생성 할 수 있으며 생성된 Sample 데이터를 기반에서 하여 통계 정보를 평가 하는 것이 가능하다. 대용량의 테이블이라면 모든 데이터를 가지고 액세스 경로를 추측 하는 것 보다 이러한 샘플링 데이터를 가지고 .. 2017. 3. 9.
OPTIMIZER Server Process는 자기가 직접 실행계획을 세우지 못하기 때문에 Optimizer가 실행 계획을 세워 전달해 준다. 일반적으로 SQL은 선언적 언어 = Declarative원하는 결과만 알려주고 계획은 스스로 판단즉, 원하는 데이터의 집합만 알려줄 뿐, 그 데이터를 얻기 위한 구체적 방법은 제시하지 않음 모든 처리 과정까지 사용자가 직접 기술하는 것은 절차적 언어 (Procedural) 하나의 SQL을 수행하는 방법은 여러가지가 있지만그 중에서 어떤 것으로 이용하냐에 따라 실행 효율에 차이가 생긴다.--> Optimizer는 실행 계획들을 수립하고, 그중 가장 효율적인 실행 계획을 찾는다. Parser를 통해 표현식 및 조건 평가조건이 있는 경우 그에 대해 가능한 계산을 모두 수행 Query T.. 2017. 3. 9.