1. 반정규화를 통한 성능향상 전략
2. 반정규화의 기법
3. 정규화가 잘 정의된 데이터 모델에서 성능이 저하될 수 있는 경우
4. 정규화가 잘 정의된 데이터 모델에서 성능이 저하된 경우
참고사항
반정규화를 설계단계에서 수행하지 않는 경우 아래와 같은 현상발생
SELECT A.공급자명, B.전화번호, C.메일주소, D.위치
FROM 공급자 A
, (SELECT X.공급자번호, X.전화번호
FROM 전화번호 X
, (SELECT 공급자번호, MAX(순번) 순번
FROM 전화번호
WHERE 공급자번호 BETWEEN '1001' AND '1005'
GROUP BY 공급자번호) Y
WHERE X.공급자번호 = Y.공급자번호
AND X.순번 = Y.순번) B
, (SELECT X.공급자번호, X.메일주소
FROM 메일주소 X
, (SELECT 공급자번호, MAX(순번) 순번
FROM 메일주소
WHERE 공급자번호 BETWEEN '1001' AND '1005'
GROUP BY 공급자번호) Y
WHERE X.공급자번호 = Y.공급자번호
AND X.순번 = Y.순번) C
, (SELECT X.공급자번호, X.위치
FROM 위치 X
, (SELECT 공급자번호, MAX(순번) 순번
FROM 위치
WHERE 공급자번호 BETWEEN '1001' AND '1005'
GROUP BY 공급자번호) Y
WHERE X.공급자번호 = Y.공급자번호
AND X.순번 = Y.순번) D
WHERE A.공급자번호 = B.공급자번호
AND A.공급자번호 = C.공급자번호
AND A.공급자번호 = D.공급자번호
AND A.공급자번호 BETWEEN '1001' AND '1005' ;
SELECT 공급자명, 전화번호, 메일주소, 위치
FROM 공급자
WHERE 공급자번호 BETWEEN '1001' AND '1005'
SELECT C.부서명, A.연계상태코드
FROM 연계 A, 접수 B, 부서 C
WHERE A.부서코드 = B.부서코드
AND A.접수번호 = B.접수번호
AND B.부서코드 = C.부서코드
AND A.연계일자 BETWEEN '20040801' AND '20040901' ;
SELECT 부서명, 연계상태코드
FROM 연계
WHERE 연계일자 BETWEEN '20040801' AND '20040901' ;