DB 인덱스 정리할 때, 대부분의 DBMS에서 인덱스가 B-Tree 자료구조로 저장된다고 했다. B-Tree는 어떤 자료구조이며, B+Tree와의 차이점과 왜 DB 인덱스에 사용되는지 공부해보자 ❕ DB 인덱스 (index)데이터베이스에서 사용하는 용어 index(인덱스)에 대해 알아보자 1. 인덱스(index) 인덱스란 RDBMS(관계형 데이터 관리 시스템)에서 테이블의 검색 속도를 향상시키기 위한 자료구조이다. DB에는 여러chchaego.tistory.com 1. B-TreeB-Tree는 탐색 성능을 높이기 위해 균형 있게 높이를 유지하는 균형 트리(Balanced Tree)의 일종이다. 이진 트리와 다르게 하나의 노드에 여러 데이터를 저장할 수 있으며, 각 key와 data가 1:1 대응하고 ..
데이터베이스 용어 트랜잭션에 대해 알아보자 ❕ 1. 트랜잭션(Transaction)이란? 트랜잭션은 데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위이다. 데이터베이스의 상태는 SQL쿼리를 실행시켜 변경시킬 수 있는데, 사용자가 특정 기능의 수행을 위해 SQL 작업을 묶은 단위를 트랜잭션이라고 하는 것이다. 따라서 트랜잭션에는 여러개의 연산이 수행될 수 있다. 대표적인 예로, 계좌 간의 이체 상황을 들 수 있다. A계좌에서 B계좌에게 10만원을 이체한 경우A계좌에서 10만원이 출금되고B계좌에서는 10만원이 입금되어야 한다.만약 A계좌에서 10만원이 출금되었는데 B계좌에서 10만원이 입금되지 않으면 문제가 발생한다. 또 다른 예시를 들어보자. 쇼핑몰의 상품 재고를 나타내는 재고시스템에서 상품 ..
데이터베이스에서 사용하는 용어 index(인덱스)에 대해 알아보자 1. 인덱스(index)인덱스란 DBMS(데이터베이스 관리 시스템)에서 테이블의 검색 속도를 향상시키기 위한 데이터이다. DB에는 여러 개의 테이블이 존재하고, 테이블 안에는 무수히 많은 데이터가 저장된다. 많은 데이터를 관리하는 DB에서 특정 조건에 부합하는 데이터를 조회하려면 검색 속도는 아주 느릴 것이다. 이 때 인덱스를 이용하면 검색 속도를 향상시킬 수 있다. 책에서 원하는 내용을 찾을 때, 목차와 색인을 확인해 원하는 내용의 페이지를 쉽게 찾을 수 있는 것처럼 데이터베이스에서는 인덱스가 그런 역할을 하는 것이다. 테이블의 특정 컬럼(Column)에 인덱스를 설정하면 별도의 메모리 공간에 컬럼의 값과 물리적 주소를 저장한다. ..