데이터베이스 2

복합 인덱스 설계의 오해와 실체: 선택도가 아니라 연산자가 기준이다

인덱스를 만들 때 "선택도(Selectivity)가 높고 데이터가 잘 분산된 칼럼을 앞에 두라"는 조언이 많지만, 이는 데이터베이스 내부 동작 원리를 고려하지 않은 오해에 가깝습니다. 복합 인덱스 칼럼 순서를 결정하는 진짜 기준을 정리합니다.1. 모든 조건이 등호(=)일 때: 순서는 상관없다두 칼럼을 모두 등호 조건으로 조회하는 경우, 칼럼 순서가 바뀌어도 성능 차이는 없습니다.SELECT * FROM employees WHERE employee_id = 123 AND subsidiary_id = 20;이유: B-Tree 인덱스는 왼쪽 칼럼부터 순서대로 다단 정렬됩니다. 두 조건 모두 명확한 값(=)을 지정했다면, 어느 칼럼이 앞에 오든 목적지 데이터로 향하는 탐색 경로와 비용은 동일합니다.진짜 기준: ..

데이터베이스 2026.07.02

Redis MGET이란? 동작 원리와 네트워크 성능 최적화 방법 정리

MGET (Multi-Get)이란?MGET은 Redis와 같은 키-값(Key-Value) 저장소에서 여러 개의 키(Key)에 해당하는 값(Value)들을 단 한 번의 명령으로 가져오는 기능입니다.비효율적인 방법 (GET 반복): 필요한 물건 목록(우유, 계란, 빵)을 보고, 우유를 가지러 갔다가 계산하고, 다시 계란을 가지러 갔다가 계산하고, 또 빵을 가지러 가는 방식입니다. 물건 하나마다 계산대(네트워크)를 거치므로 매우 비효율적입니다.효율적인 방법 (MGET): 필요한 물건 목록(우유, 계란, 빵)을 장바구니에 한 번에 다 담아서 계산대에 딱 한 번만 가는 방식입니다. 이것이 바로 MGET의 원리입니다.MGET의 동작 원리와 과정MGET은 N+1 문제를 해결하기 위해 "N번의 요청을 1번의 요청으로"..

데이터베이스 2026.02.25