3.6 정규형과 성능
정규형과 성능
▶ 정규형을 꺼리는 가장 커다란 이유는 성능이 떨어진다고 생각하기 때문
▶ 하지만, 정규형을 하면 성능이 나빠진다는 것은 널리 알려진 잘못된 상식
▶ 정규형은 성능을 빠르게 하고 개발을 편하게 해준다고 생각하는 것이 점차 늘어나고 있음
조회 성능
▶ 정규형을 꺼리는 성능 문제는 대부분 조회 성능을 의미함
▶ 조회 성능을 올리려면 잘 정규화된 모델링에 인덱스를 적절히 사용해야 하며, 때에 따라 성능이 나오지 않을 경우 비정규화를 선택할 수 있음
▶ 오라클은 데이터를 블록 단위로 액세스하는데, 정규화가 잘 되었을 경우 적은 블록으로 많은 데이터를 가져올 수 있으므로 Hit Ratio를 끌어올릴
수 있고, 이로 인해 성능이 향상됨
조회 성능과 화면 구성
▶ 화면 구성 또한 조회 성능을 올리는데 중요한 고려 요소
▶ 하나의 엔터리를 통해 화면 데이터를 한 줄에 횡으로 전부 보여줘야 하는 화면과 종으로 떨어뜨려 보여주는 화면 구성이 7:3 또는 6:4 일 경우
아래와 같이 비정규화를 고려할 수 있음
▶ 그러나, 종 형식의 화면이 9개이고 횡 형식이 하나라면, 비정규형은 고려할 수 없는 것처럼, 조회 화면은 정규형과 비정규형을 결정짓는 중요한
요소
성능이슈 검토 단계
▶ 성능이슈는 예상이 될 경우 물리모델링이 아닌, 논리모델링에서 선대응을 하여 대처하는 것이 좋음
▶ 물리모델링으로 넘어가면, 일정 상 무리하게 진핼될 수 있고 이로 인해 충분히 검토를 못할 수 있으며, 결국 SQL 튜닝으로밖에 대응을 못함
▶ 그러므로, 가능한 빠른 단계에서 성능 문제를 해결하는 것이 비용 대비 가장 효율적
[관련 keyword] ▶ 정규화의 기본 개념과 목적에 대해 이해하고 있다. ▶ 정규화를 하지 않았을 경우의 이상현상을 이해하고 해결 가능하다. 단, 이상현상을 해결하기 위한 내용이 1, 2, 3 정규화 중 어떤 것인지 구분할 필요는 없다. |
'Learning > DB SQL 가이드' 카테고리의 다른 글
DB 모델링 - 4. 데이터 통합 : 4.2 데이터 통합의 장단점 (0) | 2015.11.20 |
---|---|
DB 모델링 - 4. 데이터 통합 : 4.1 데이터 통합 (0) | 2015.11.20 |
DB 모델링 - 3. 정규화 : 3.5 정규형의 종류 (0) | 2015.10.25 |
DB 모델링 - 3. 정규화 : 3.4 함수종속 (0) | 2015.10.25 |
DB 모델링 - 3. 정규화 : 3.3 아노말리 (0) | 2015.10.25 |
댓글