테이블 스키마는 대략 아래와 같습니다.
FIELD TYPE
---------------- -------------------
data_id BIGINT(20) UNSIGNED Primary Index
check_1 ENUM('Y','N')
check_2 ENUM('Y','N')
check_3 ENUM('Y','N')
check_4 ENUM('Y','N')
check_5 ENUM('Y','N')
name_1 VARCHAR(80)
name_2 VARCHAR(40)
name_3 VARCHAR(255)
이런 상황에서 아래와 같은 쿼리를 써야할 때 어떻게 인덱스를 잡아야 좋을까요?
SELECT *
FROM table1
WHERE check_1 = 'N'
AND check_2 = 'Y'
AND check_3 = 'Y'
AND check_4 = 'N'
AND check_5 = 'Y'
GROUP BY name_1, name_2, name_3
ORDER BY data_id;
이런 저런 방법을 시도해봐도 인덱스를 타지 않네요. 덕분에 실행속도가 상당히 느려집니다.
그럼 부탁드리겠습니다!
|