전체 글294 B-Tree B-Tree 탐색 성능을 높이기 위해 균형 있게 높이를 유지하는 Balanced Tree 의 일종으로, 모든 leaf node(자식X) 가 같은 level로 유지되도록 자동으로 밸런스를 맞춰줌 자식 node 의 개수가 2개 이상이며 node 내의 key 가 1개 이상일 수 있음 node 의 자식 수 중 최댓값을 K 라고 하면, 해당 B-Tree 를 K차 B-Tree 라고도 함 B-Tree 의 조건 1. 노드(node) 에는 2개 이상의 데이터(key) 가 들어갈 수 있으며 항상 정렬된 상태로 저장된다. 2. 내부 노드는 M/2 ~ M 개의 자식을 가질 수 있고 최대 M 개의 자식을 가질 수 있는 B-Tree 를 M차 B-Tree라고 한다. 3. 특정 노드의 데이터(key) 가 K 개라면, 자식 노드의 개.. 2022. 12. 25. Hash / Hash Table Hash 데이터를 효율적으로 관리하기 위해 임의의 크기를 가진 데이터(key)를 고정된 크기의 데이터(value)로 변화시켜 저장하는 것 키에 대한 Hash 값을 사용하여 값을 저장하고 키-값 쌍의 개수에 따라 동적으로 크기가 증가하는 연괸배열 키에 대한 Hash 값을 구하는 과정을 Hashing 이라고 하며 이때 사용하는 알고리즘을 해시함수 라고 함 Hash 값 자체를 index 로 사용하기 때문에 평균 시간복잡도가 O(1)로 매우 빠름 해시함수 키에 대한 Hash 값을 만드는 함수 계산이 단순하고 키값에 대해 중복이 없이 해시값을 고르게 만들어 내는 함수가 좋음 충돌이 일어나지 않을수록 좋음 나눗셈법(Division Method)과 곱셈법(Multiplication Method)이 대표적 Hash T.. 2022. 12. 25. 결합 인덱스(Composite Index) 결합 인덱스(Composite Index) 인덱스 생성 시 두 개 이상의 칼럼을 합쳐서 만들어진 인덱스를 말한다. 복수의 컬럼으로 묶었을 때 데이터 분포도가 좋아지는 경우나 Where 절에서 AND 조건에 많이 사용되는 칼럼들로 결합 인덱스를 구성한다. 결합 인덱스에서 컬럼을 선택하는 기준 Where 절에서 and 조건으로 자주 결합되어 사용되며 각각의 분포도보다 두 개 이상의 컬럼이 결합될 때 분포도가 좋아지는 칼럼들 다른 테이블과 조인의 연결고리로 자주 사용되는 칼럼들 order by 에서 자주 사용되는 칼럼들 하나 이상의 키 칼럼 조건으로 같은 테이블의 칼럼들이 자주 조회될 때 결합 인덱스의 컬럼 순서 결정 칼럼의 순서를 잘못 배정하면 결합 인덱스의 발동 확률이 낮아짐 쿼리문 작성 시 결합 인덱스를.. 2022. 12. 4. 기본 인덱스(Primary index)와 보조 인덱스(Secondary index) 기본 인덱스(Primary index) 기본 키(Primary key)를 기반으로 하는 인덱스를 기본 인덱스라 한다. 이러한 키는 각 레코드에 대해 고유하며 레코드 간의 1:1 관계를 포함한다. 기본 인덱스를 사용하여 데이터를 검색하면 정렬된 순서로 데이터를 저장한다는 점에서 효율적이다. 보조 인덱스(Secondary index) 대체 키(Altanative key)와 테이블에서 다른 속성들의 부분집합을 포함한다. 테이블처럼 인덱스에 쿼리를 사용하여 데이터를 가져올 수 있다. 기본 인덱스와 보조 인덱스의 차이점 기본 인덱스는 필드의 기본 키를 포함하고 중복을 포함하지 않는 필드 집합의 인덱스인 반면, 보조 인덱스는 ㄱ;본 인덱스가 아닌 인덱스이며 중복을 포함할 수 있다. 기본 인덱스는 데이터 블록의 행이.. 2022. 12. 4. 이전 1 ··· 10 11 12 13 14 15 16 ··· 74 다음