데이타가 한달에 100만건 이상 생성되는 테이블이 있습니다. (경우에 따라 1000만건 이상일수도 있음)
날짜필드는 date 타입을 사용하며 특정달의 데이터를 자주 구합니다.
다음은 쿼리의 예입니다.
SELECT * FROM Class WHERE date BETWEEN '2009-02-01' AND '2009-02-28'
과 같은 형식으로 쿼리가 가능한데요..
인덱스설정시 BETWEEN 보다는 = 로 설정하는게 더 효율적이라고 책에 적혀 있더군요..
그럼 위와 같은 쿼리가 대부분을 차지할 경우에는
date 필드는 year, month, day의 char형으로 분리한 후
SELECT FROM Class WHERE year='2009' AND month='02'
이런식으로 사용하는것이 더 효율적인가요?
인덱스는 year, month에 걸어두고요..
많은 조언 부탁드려요.
|