DB
-
[DB] IndexDatabase 2023. 3. 2. 19:04
Index란? Index는 데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조입니다. 테이블 내의 1개 이상의 컬럼을 이용하여 생성할 수 있습니다. 테이블의 특정 컬럼(Column)에 인덱스를 생성하면, 해당 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장됩니다. 컬럼의 값과 물리적 주소를 (Key, Value)의 한 쌍으로 저장합니다. 특정 테이블의 컬럼을 인덱싱(Indexing)하면 검색을 할 때 테이블의 레코드를 전부 다 확인하는 것이 아니라 인덱싱 되어있는 자료구조를 통해서 검색되기 때문에 검색 속도가 빨라지는 것입니다. 인덱스는 책의 목차(색인)으로 비유할 수 있습니다. 책에서 원하는 내용을 찾을 때 목차 및 색인을 이용하면 훨씬 빠르게 찾을 수 있게..
-
[자료구조] B-Tree, B*Tree, B+TreeComputer Science/Data Structure 2023. 2. 28. 23:02
B-Tree 데이터베이스와 파일 시스템에서 사용되는 트리 자료구조의 일종으로, 이진 트리가 자식 노드를 최대 2개만 가질 수 있지만 B-tree는 자식 노드의 개수가 2개 이상인 트리입니다. 또한 노드 내의 데이터가 1개 이상일 수 있습니다. 노드 내 최대 데이터 수가 2개라면 2차 B-Tree, 3개라면 3차 B-Tree 라고 합니다. 하나의 노드에 여러 정보를 담게 되고, 여러 자식을 가질 수 있게 되면서 "차수"라는 개념이 등장합니다. 최대 M개의 자식을 가질 수 있는 B-Tree를 M차 B-Tree라고 부릅니다. 이렇게 하나의 노드에 여러 자료를 배치하게 되면서 이진 트리보다 훨씬 많은 데이터를 효율적으로 저장소에 담을 수 있게 되었습니다. 하드디스크, SSD와 같은 외부 기억장치(비휘발성 메모리..