Database/RDBMS

Postgres에서 쿼리 실행 계획(Explain Query Plan)을 실행했을 때 Nested Loop 에 대해 알게 되었지만, 제대로 정리해본적은 없었기에 SQL의 3가지 JOIN 알고리즘을 정리해보려 한다. JOIN 알고리즘의 종류  Nested Loop Sort/Merge HashRDBMS 에 따른 알고리즘 지원 현황 Oracle : 3가지 모두 지원 MySQL : Nested Loop 만 지원 Postgres : 3가지 모두 지원 External Table 과 Internal TableSELECT * FROM table1 t1 INNER JOIN table2 t2 on t1.id = t2.id;External Table (Drive Table)JOIN할 때 기준이 되는 테이블이며, 위 SQ..
인덱스는 테이블이나 뷰에서 행의 검색 속도를 높일 수 있다. 클러스터드 인덱스클러스터형 인덱스는 해당 키 값을 기반으로 테이블이나 뷰의 데이터 로우를 정렬하고 저정한다.이러한 키 값은 인덱스 정의에 포함된 컬럼이다. 데이터 로우 자체는 한 가지 순서로만 저장될 수 있으므로 테이블당 클러스터형 인덱스는 하나만 존재할 수 있다. 때문에 일반적으로는 PK 또는 unique not null 을 사용한다.테이블의 데이터 로우가 정렬된 순서로 저장될 때만 테이블에 클러스터형 인덱스가 포함된다. 테이블에 클러스터형 인덱스가 있는 경우 테이블을 클러스터형 테이블이라고 한다. 테이블에 클러스터형 인덱스가 없는 경우 해당 데이터 로우는 힙이라는 순서가 지정되지 않은 구조에 저장된다.비클러스터형 인덱스비클러스터형 인덱스에는..
귀찮은 개발자
'Database/RDBMS' 카테고리의 글 목록