Index 2

INDEX에 대하여 .. 조금 더 깊은 이야기 (Postgres 와 datapage)

INDEX란 .. 간단하게 이야기하면 하나의 테이블의 레코드와 그 레코드가 담긴 데이터 페이지의 매핑정보를 담아놓은 구조라고 볼 수 있다. 또한 랜덤 액세스는 인덱스가 제공하는 중요한 이점 중 하나이다. PostgreSQL에서 인덱스는 테이블의 특정 컬럼 값과 해당 값이 저장된 위치 정보를 연결해, 쿼리를 효율적으로 실행할 수 있게 돕는다. 이 정보를 통해 데이터베이스는 테이블 전체를 탐색하지 않고도 필요한 데이터를 빠르게 찾아낼 수 있다. 인덱스의 역할인덱스는 특정 컬럼의 값과 그 값이 저장된 데이터 페이지 번호와 페이지 내 위치(오프셋)를 연결한다. PostgreSQL에서는 이 정보를 TID(Tuple Identifier)라고 부르며, TID는 해당 데이터가 저장된 페이지 번호와 행의 위치(오프셋) ..

DBA의 길 2024.10.15

INDEX에 대하여, JOIN을 곁들인

JOIN은 데이터베이스에서 여러 테이블을 결합해 데이터를 조회하는 기능이다.테이블 간의 관계를 정의하고, 그 관계를 기반으로 필요한 데이터를 하나의 결과로 결합하는 역할을 한다.예를 들어, 고객 정보와 주문 정보를 각각 다른 테이블에서 조회하고자 할 때, JOIN을 사용하면 두 테이블의 데이터를 결합하여 고객별 주문 내역을 조회할 수 있다. JOIN은 여러 테이블을 동시에 처리해야 하므로, 테이블의 크기가 크거나 결합 조건이 복잡할 경우 성능에 부정적인 영향을 미칠 수 있다. 따라서, JOIN을 사용할 때는 성능을 최적화하기 위한 전략이 필요하다. 여기서 중요한 도구 중 하나가 바로 인덱스다.  인덱스는 특정 데이터를 빠르게 찾기 위한 도구로, 테이블의 특정 컬럼에 대해 데이터를 정렬된 구조로 저장하여,..

DBA의 길 2024.10.13