Има огромна разлика в производителността при използване на поле DATE над поле DATETIME. Имам таблица с повече от 4 000 000 записа и за целите на тестването добавих 2 полета със собствен индекс. Едното използва DATETIME, а другото поле с DATE.
Деактивирах MySQL кеша на заявки, за да мога да тествам правилно и превъртях една и съща заявка за 1000x:
SELECT * FROM `logs` WHERE `dt` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10;
DATETIME INDEX:197,564 секунди.
SELECT * FROM `logs` WHERE `d` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10;
ИНДЕКС НА ДАТАТА:107,577 секунди.
Използването на поле, индексирано по дата, има подобрение на производителността от:45,55%!!
Така че бих казал, че ако очаквате много данни във вашата таблица, моля, помислете за разделяне на датата от часа със собствен индекс.