[SQL] DISTINCT, 언제나 붙이는 건 오히려 독입니다

Unit·2025년 5월 8일

SQL

목록 보기
11/59

쿼리를 짜다 보면,
중복이 생길까 봐 DISTINCT를 습관처럼 붙이는 경우가 있습니다.

하지만 항상 붙이는 건 좋은 습관이 아닙니다.
데이터 구조에 따라 성능에 불필요한 연산이 추가될 수 있기 때문입니다.


✅ 예시 : 테이블에 따라 달라지는 DISTINCT의 필요성

📌 트랜잭션 테이블 (ex. orders)

SELECT DISTINCT user_id
FROM orders
WHERE status = 'complete';

→ 한 유저가 여러 번 주문할 수 있기 때문에, 중복 제거 목적이라면 의미가 있습니다.


📌 마스터 테이블 (ex. users)

SELECT DISTINCT user_id
FROM users;

user_id는 본래 고유합니다.
→ 이 경우 DISTINCT는 불필요한 정렬 연산만 추가하고, 쿼리 성능을 떨어뜨릴 수 있습니다.


정리

✔️ DISTINCT는 습관처럼 붙이기보단, 데이터 구조를 이해한 뒤 필요한 경우에만 사용해야 합니다.

profile
협업, 유지보수, 최적화를 고려한 데이터 실무 팁을 정리합니다.

0개의 댓글