반응형

SQL & DB 67

[SQL 튜닝] 인덱스 기본

인덱스 : 테이블에서 데이터를 검색할 때 사용 인덱스 튜닝의 핵심요소 1. 인덱스 스캔 효율화 튜닝 - 인덱스 스캔과정에서 발생하는 비효율을 줄이는 것 2. 랜덤 액세스 최소화 튜닝(랜덤 I/O 방식을 사용) - 테이블 엑세스 횟수를 줄이는 것 ==> SQL튜닝은 랜덤 I/O와의 전쟁임 인덱스 구조 - 인덱스를 활용하면 일부만 읽고 멈출 수 있는 '범위 스캔'이 가능함 - DBMS는 B-Tree 인덱스를 사용 - B-Tree는 나무를 거꾸로 뒤집은 모양으로 뿌리가 위쪽에 있고 가지를 거쳐 맨 아래에 잎사귀가 있음 인덱스 수직적 탐색 - 조건을 만족하는 첫 레코드를 찾는 과정, 인덱스 스캔시작지점을 찾는 과정 - 루트를 포함한 브랜치 블록은 푯말과 같은 역할을 함. 인덱스 수평적 탐색 - 찾고자 하는 데이..

SQL & DB/SQL 튜닝 2021.04.22

[관계형 데이터 모델링] 논리적 데이터 모델링, 물리적 데이터 모델링(정규화, 역정규화)

논리적 데이터 모델링 정규화 - 중복을 제거하는 과정(쓰기의 편리함을 위해 읽기의 편리함을 희생) 제 1 정규화 - Atomic columns : 각각의 컬럼의 값은 값을 1개만 가져야함 - 하나의 컬럼을 두개의 컬럼으로 만들 수도 있지만, 테이블로 쪼개는 것이 좋음 제 2 정규화 - 부분 종속성이 없어야함 : 기본키 중에 중복키가 없어야함 - 부분적으로 종속되는 칼럼들을 따로 쪼개서 테이블을 만들어야 함 제 3 정규화 - No transitive dependencies : 이행적종속성 - 식별되는 ID와 이에 딸린 칼럼들을 분리해 내야함. 물리적 데이터 모델링 역정규화 - 정규화를 할 수록 Join을 많이 써야하기 때문에 성능이 떨어질 수 있음, 따라서 성능의 향상을 위해 join 사용횟수를 줄이기 위..

[관계형 데이터 모델링] 개념적 데이터 모델링

데이터 모델링의 순서 업무 파악 -> 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링 개념 데이터 모델은 건축물의 조감도와 같이 구축하고자 하는 업무 모델의 핵심 데이터 구조를 큰 그림으로써 전체 업무에 대한 큰 윤곽을 잡고 세부적인 단계로 나아갈 수 있게 한다(ERD를 이때 그림) 논리 데이터 모델이란 개념 데이터 모델을 상세화 하여 논리적인 데이터 집합, 관리 항목, 관계를 정의한 모델 물리 데이터 모델이란 논리 데이터 모델을 DBMS의 특성 및 성능을 고려하여 구체화시킨 모델 개념적 데이터 모델링 - 관계형 데이터 모델링의 극치 - 현실에서 개념을 추출하는 필터를 제공 - 개념에 대해 다른 사람들과 대화하게 하는 언어로써 작용 - ERD(Entity Relationship..

반응형