Database (1) 썸네일형 리스트형 WHERE 절 서브쿼리를 포함하는 쿼리 최적화 최근 Real MySQL 8.0 책 스터디를 하다보니 쿼리 최적화하는데 관심이 생겼다. 그러다보니 그 전까지는 신경쓰지 않았던 쿼리들 실행계획을 살펴보며 쿼리를 최적화하고있다. 주로 실행계획에서 인덱스를 사용하지 않고 fullscan 하는 쿼리들을 튜닝하고 인덱스를 생성하는 작업을 하고 있는데, where 절 컬럼 인덱스를 생성해도 fullscan을 하는 쿼리를 발견했다. 서브쿼리를 에서 SELECT 한 PRIMARY 키를 메인 쿼리 IN 절로 조회하는 쿼리 였다.당연히 PK 로 IN 절에서 조회하므로 인덱스를 사용해 rows 수가 서브쿼리에서 조회된 수만 나올줄 알았는데 메인쿼리의 모든 row 수가 나왔다. 이 과정을 이해하려면 옵티마이저에서 작동하는 서브쿼리 처리에 대해서 이해해야한다. -- 서브.. 이전 1 다음