[MySQL] 윈도우 함수 + VIEW 조합의 성능 함정
·
Computer Science/Database
1. 들어가며: "VIEW에 윈도우 함수가 있으면 인덱스가 안 먹힌다?"최근 동료가 특정 기능을 작업하던 중 조회 성능이 급격히 저하되는 문제를 겪었다. 원인은 윈도우 함수가 포함된 VIEW 테이블을 조회할 때 발생한 현상이었으며, 이 조합이 Condition Push-Down을 방해한다는 점을 분석하였다. 평소 뷰를 편리하게 사용해왔으나 이러한 구체적인 성능 제약 사항은 경험해 본 적이 없었다. 이에 해당 지식을 직접 확인하고 이해하기 위해 로컬 환경에서 Docker를 이용해 상황을 재현하고 실험을 진행하였다.2. 이론적 배경: 왜 옵티마이저는 조건을 무시하는가?MySQL 옵티마이저는 뷰를 쿼리할 때 두 가지 실행 전략을 선택한다.Merge: 뷰의 정의와 외부 쿼리를 합쳐 하나의 최적화된 쿼리로 실행한..