MySQL 서브쿼리 최적화 전략 (IN, EXISTS, JOIN 변환 등)
SQL에서 서브쿼리(Subquery)는 쿼리 내부에 또 다른 쿼리를 포함시키는 방식으로, 복잡한 조건이나 필터링 로직을 간결하게 표현할 수 있게 해주는 강력하고 유연한 기능입니다. SELECT 절, FROM 절, WHERE 절 등 다양한 위치에서 활용되어 데이터 조회 및 가공의 표현력을 높여주지만, 그 편리함 이면에는 성능 저하라는 잠재적 위험이 도사리고 있습니다. 특히 과거 MySQL 버전에서는 서브쿼리 처리 방식의 비효율성으로 인해 성능 문제의 주범으로 지목되는 경우가 많았습니다. 최신 버전에서는 서브쿼리 구체화(Materialization), 세미 조인(Semi-Join) 등 다양한 자동 최적화 기법이 도입되어 상당 부분 개선되었지만, 여전히 서브쿼리의 종류(스칼라, 인라인 뷰, 중첩)와 사용 방식..
2025. 5. 4.