본문 바로가기

Database2

[Database] HASH JOIN 최적화 1. HASH JOIN 이란? HASH 조인은 조인될 두 테이블 중 하나를 해시 테이블로 선정하여 조인될 테이블의 조인 키 값을 해시 알고리즘으로 비교하여 매치되는 결과값을 얻는 방식이다. 동작 방식 1. 둘 중 작은 집합(Build Input)을 읽어 Hash Area에 해시 테이블을 생성한다. (해시 함수에서 리턴 받은 버킷 주소로 찾아가 해시 체인에 엔트리를 연결) - 작은 테이블에서 해시 테이블을 만드는 이유는 해시 테이블은 DBMS의 워킹 메모리에 저장되므로 조금이라도 작은 것이 효율적이기 때문이다. 2. 반대쪽 큰 집합(Probe Input)을 읽어 해시 테이블을 탐색하면서 JOIN 한다. 3. 해시 함수에서 리턴 받은 버킷 주소로 찾아가 해시 체인을 스캔하면서 데이터를 찾는다. 2. 특징 N.. 2021. 11. 14.
[Database] 정규화 정리 1. 정규화의 목표 정규화의 목표는 테이블 간에 중복된 데이터를 허용하지 않는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성을 유지할 수 있으며, 데이터 베이스의 저장 용량도 줄 일 수 있다. 2. 제 1 정규화 제 1 정규화란 테이블의 컬럼이 원자값을 갖도록 테이블을 분해하는 것 이다. 다음과 같은 상품 테이블이 있다고 할 때 현재 카테고리 컬럼에 여러개의 값이 들어가고 있다. 즉, 제 1 정규형을 만족하지 못하고 있다. [상품 테이블] 상품명 카테고리 새우깡 과자,간식 감자칩 과자 왕뚜껑 라면,식품 위의 테이블을 정규화하면 아래와 같다. [상품 테이블] 이름 카테고리 새우깡 과자 새우깡 간식 감자칩 과자 왕뚜껑 라면 왕뚜껑 식품 3. 제2 정규화 제2 정규화란 제 1정규화를 진행한 테이블에 대해.. 2021. 10. 24.