전체 글 74

EQUI JOIN(등가 조인)과 Non EQUI JOIN(비등가 조인)

등가 조인(EQUI JOIN) 두 개의 테이블 간 칼럼 값들이 서로 정확하게 일치하는 경우 대부분 PK ↔ FK 관계를 기반으로 한다. → 반드시 PK ↔ FK 관계로만 성립하는 것은 아님. - JOIN의 조건은 WHERE 절에 기술하게 되는데 '=' 연산자를 사용해서 표현한다. SELECT 테이블1.칼럼명, 테이블2.칼럼명, ... FROM 테이블1, 테이블2 WHERE 테이블1.칼럼명1 = 테이블2.칼럼명2; - INNER JOIN으로도 표현할 수 있다. ON절에 JOIN 조건을 넣는다. SELECT 테이블1.칼럼명, 테이블2.칼럼명, ... FROM 테이블1 INNER JOIN 테이블2 ON 테이블1.칼럼명1 = 테이블2.칼럼명2; 참고) INNER JOIN https://it-amin.tistor..

조인수행원리(NL Join, Sort Merge Join, Hash Join)

조인(Join) 두 개 이상의 테이블을 하나의 집합으로 만드는 연산 → SQL문에서 FROM 절에 두 개 이상의 테이블이 나열될 경우 조인이 수행됨. FROM 절에 세 개의 테이블이 존재하더라도 세 개의 테이블이 동시에 조인이 수행되는 것이 아니라, 먼저 두 개의 테이블에 대해 조인이 수행된 후 먼저 수행된 조인 결과와 나머지 테이블 사이에서 조인이 수행된다. 테이블 또는 조인 결과를 이용하여 조인을 수행할 때 조인 단계별로 다른 조인 기법을 사용할 수 있다. [조인 기법] : NL Join, Hash Join, Sort Merge Join 1) NL Join 중첩된 반복문과 유사한 방식으로 조인 수행 더보기 Nested Loop : 루프 구조 내부에 하나 이상의 또 다른 내부 루프 구조를 갖는 형태로 ..

[데이터베이스] 전체 테이블 스캔과 인덱스 스캔

1) 전체 테이블 스캔 테이블의 모든 데이터를 읽어가면서 조건에 맞으면 결과로 추출하고 조건에 맞지 않으면 버리는 방식으로 검색 Oracle의 경우 검색 조건에 맞는 데이터를 찾기 위해 테이블의 고수위 마크(HWM) 아래의 모든 블록을 읽는다. 더보기 고수위 마크(HWM, High Water Mark) : 테이블에 데이터가 쓰여졌던 블록 상의 최상위 위치 고수위 마크까지의 블록 내 모든 데이터를 읽어야 하기 때문에 시간이 결과를 찾을 때까지 오래 걸릴 수 있다. - 전체 테이블 스캔 방식 선택하는 경우 1. SQL문에 조건이 존재하지 않는 경우 조건이 존재하지 않는다. = 모든 데이터가 답이 된다. 따라서 테이블의 모든 블록을 읽으면서 무조건 결과로서 반환하면 된다. 2. SQL문의 주어진 조건에 사용가..

인덱스(인덱스 특징, 인덱스 종류, B-트리 인덱스, 클러스터형 인덱스)

인덱스 원하는 데이터를 쉽게 찾을 수 있게 돕는 책의 찾아보기와 유사한 개념으로, 테이블을 기반으로 선택적으로 생성할 수 있는 구조임. → 인덱스를 생성하지 않아도 되고 여러 개를 생성해도 된다. 목적: 검색 성능의 최적화 DML(INSERT, UPDATE, DELETE 등) 작업은 테이블과 인덱스를 함께 변경해야 하기 때문에 오히려 느려질 수 있다는 단점이 존재. 인덱스 종류 ORACLE의 트리기반 인덱스: B-트리 인덱스, 비트맵 인덱스(Bitmap Index), 리버스 키 인덱스(Reverse Key Index), 함수 기반 인덱스(FBI, Function-Based Index) 등 SQL Server의 인덱스: 저장 구조에 따라 클러스터형(clustered) 인덱스, 비클러스터형(noncluste..

SQL 처리 흐름도(SQL 처리 흐름도 구성, 조인 순서, 조인 기법, 액세스 기법, 일량)

SQL 처리 흐름도(Access Flow Diagram) 내부적인 처리 절차를 시각적으로 표현한 도표 → 실행계획을 시각화 함. SQL 처리 흐름도 구성 조인 순서, 조인 기법, 액세스 기법, 일량 등 액세스 처리 흐름도에는 SQL문의 처리를 위해 어떤 테이블을 먼저 읽었는지(조인 순서), 테이블을 읽기 위해서 인덱스 스캔을 수행했는지 또는 테이블 전체 스캔을 수행했는지(액세스 기법)과 조인 기법 등을 표현할 수 있다. - 조인 순서 : TAB1 → TAB2 - 액세스 기법 : TAB1 = 테이블 전체 스캔 TAB2 = 인덱스 스캔(I01_TAB2라는 인덱스) - 조인 기법 : NL Join → TAB1에 대한 액세스는 스캔(Scan) 방식이고 조인 시도 및 I01_TAB2 인덱스를 통한 TAB2 액세스..

728x90
반응형