본문 바로가기

전체 글294

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.
인덱스(Index) 인덱스(Index) : 인덱스는 데이터베이스 테이블의 검색 속도를 높여주는 자료구조이며 우리가 책을 읽을 때 색인을 추가하는 것과 같다. 인덱스의 관리 DBMS 는 인덱스를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 찾을 수 있다. 따라서 인덱스가 추가된 컬럼에 INSERT, UPDATE, DELETE 가 수행된다면 추가적으로 아래와 같은 연산을 해야 한다. INSERT : 새로운 데이터에 대한 인덱스를 추가 DELETE : 삭제하는 데이터의 인덱스를 사용하지 않는다고 하는 작업을 진행 UPDATE : 기존의 인덱스를 사용하지 않는 것으로 처리하고, 갱신된 데이터의 인덱스를 추가 인덱스를 사용하면 테이블을 조회하는 속도가 빨라져 전반적인 시스템의 부하를 줄일 수 있는 장점이 있는 방면에 단점.. 2022. 11. 28.