728x90 SQL2 DBMS 내부 구조와 효율적 데이터 관리 방식 현대의 DBMS(Database Management System)는 대규모 데이터를 안정적으로 저장하고, 빠르게 검색하며, 동시성을 보장하기 위해 다양한 내부 구조를 갖고 있습니다. 이번 글에서는 DB가 테이블의 데이터를 어떻게 저장하고, 인덱스(Index) 없이 데이터를 검색하는 방식, 인덱스를 통해 효율적으로 데이터에 접근하는 과정을 기술적으로 살펴보겠습니다. 마지막에는 대표적인 DBMS(Oracle, MySQL, PostgreSQL) 각각이 어떻게 데이터를 관리하고 인덱스를 구현하는지에 대한 특이한 점도 정리합니다.1. DB가 테이블의 데이터를 관리하는 방식 (Data Level 상세)1.1 페이지(블록) 단위의 저장관계형 DBMS는 테이블 데이터를 페이지(Page) 또는 블록(Block) 단위로 .. 2025. 3. 31. SQL ORDER BY VS RANK 함수의 성능 비교: 인덱스 활용과 블록 I/O 관점 SQL 쿼리에서 ORDER BY는 단순히 결과를 정렬할 때 사용하고, RANK(Window Function)는 순위를 매길 때 사용합니다.하지만 대용량 테이블에서 이 둘을 잘못 사용하면 예상보다 큰 I/O와 CPU 자원(정렬 비용)이 들 수 있습니다.이 글에서는 ORDER BY와 RANK의 동작 원리를 심층적으로 살펴보고, 인덱스 존재 여부에 따른 Big(O) 시간 복잡도 및 효율적인 사용 사례를 정리해보겠습니다.1. ORDER BY vs RANK: 블록 읽기(Physical I/O) 방식 및 연산량(Big(O) 표기)1-a. 인덱싱된 컬럼 사용 시ORDER BY인덱스를 완전히 활용할 수 있는 경우예: ORDER BY 인덱스_컬럼DB 옵티마이저가 인덱스의 정렬 순서를 그대로 활용 → 별도의 정렬 연산 최.. 2025. 3. 28. 이전 1 다음 728x90