질문Q #16411
mysql 인덱스 문의드립니다.
민속2017-01-11 13:57:29

안녕하세요. mysql 인덱스 문의 드립니다.

 

dDATE라는 날짜 컬럼 (datetime이며 널이 아님)이 있는데

1번같은경우 인덱스를타는데 2번같은경우는 인덱스를 타지 못합니다.

왜 이런걸까요?? 아시는분 답변좀 부탁드려용~~

 

1번

/* 이건 인덱스를 탐 dDATE는 datetime이며, 널이 아님 */

SELECT *FROM T_B_GIVEMEBUSWHERE dDATE > '2016-11-04 10:05:52';

2번

/* 이건 인덱스를 타지못함  dDATE는 datetime이며, 널이 아님 */

SELECT *FROM T_B_GIVEMEBUSWHERE dDATE > ADDDATE(NOW(), INTERVAL nEXPIRE*-1 DAY);

답변2
#1 변종원(웅파) 2017-01-11 14:38:31
검색해보시면 나오는 내용입니다. 인덱스 컬럼에 함수 적용하면 안 탑니다. 미리 계산해서 상수로 사용하라고 합니다.
#2 민속 2017-01-11 14:41:07
아 감사합니다.