Where 2

[DB Optimization#15] HAVING 문 튜닝

SQL에서 집계 함수를 사용할 때 자주 쓰이는 함수가 있습니다. 바로 HAVIN문입니다. 하지만 무분별한 사용은 성능 저하를 초래할 수 있기 때문에, HAVING을 꼭 써야 하는 경우가 아니라면 WHERE문으로 대체하는 것이 더 바람직한 경우가 많습니다. 이번 글에서는 100만 건의 데이터를 기반으로 HAVING을 사용했을 때와 WHERE으로 대체했을 때의 성능 차이를 비교해 보며, 어떤 방식이 더 효율적인지 실습을 통해 확인해 보겠습니다. 실습CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), age INT, department VARCHAR(100), salary INT, created..

SQL 2025.04.17

[DB Optimization#14] WHERE vs ORDER BY, 어디에 인덱스를 거는 것이 좋을까?

SQL 최적화에서 자주 나오는 고민 중 하나는 WHERE 절에 인덱스를 거는 게 좋은지, 아니면 ORDER BY 절에 인덱스를 거는 게 좋은지에 대한 문제입니다. 정답은 하나가 아닙니다. 데이터의 구조, 쿼리의 목적, 그리고 실행 계획에 따라 달라질 수 있기 때문입니다. 이번 글에서는 실제 100만 건의 데이터를 바탕으로 각각의 경우를 비교하고, 어떤 인덱스 전략이 더 효율적인지 실행 시간과 실행 계획을 통해 확인해 보겠습니다. 실습CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), department VARCHAR(100), salary INT, created_at TIMESTAMP DEFAU..

SQL 2025.04.17