2014-02-19 2 views
2

나는 다음과 같은 열이 포함 된 테이블이 있고, 나는 그들에 대한 인덱스 생성 : 지금은 어떤 기록이 있는지 말할려고MySQL은이 쿼리에서 인덱스를 사용하지 않는

dt date 그리고 tm time

을 특정 타임 스탬프 사이 :

explain SELECT count(*) from XX 
where dt != CURRENT_DATE 
and tm BETWEEN '14:00:00' AND '14:30:00' 

그리고 설명은 key이 여기에 NULL임을 보여줍니다. 왜 그런가요?

첫 x 째 값을 0으로 대체하면 Explain 구가 색인이 사용 중임을 표시합니다.

피씨 나는 방금 더 시도했다. exists으로 감싸면 색인이 다시 사용 중입니다.

답변

0

여러 열 인덱스를 만들어보십시오.

Create index dt_tm_ix on XX (dt, tm) 
관련 문제