2009-12-18 2 views
0

계산 된 값에 where 문이 필요한 쿼리가 있습니다.계산 된 값에 대한 SQL 쿼리 최적화?

select * from table where date(timestamp) = ? 

이 쿼리에 대한 설명은 이상적인 모든 SELECT 유형을 생성합니다. MySQL을 사용하면 이것을 최적화하는 가장 좋은 방법은 무엇입니까?

답변

3

또 다른 옵션은 계산식이 모두 방정식의 다른 쪽에서 수행되도록 쿼리를 다시 작성하는 것입니다. 예 :

timestamp >= <some date> AND timestamp < <some date + 1> 

이 쿼리에서 "some date"는 해당 날짜의 자정입니다.

1
select * from table where timestamp = UNIX_TIMESTAMP('?');