Há uma grande diferença no desempenho ao usar o campo DATE acima do campo DATETIME. Tenho uma tabela com mais de 4.000.000 registros e para fins de teste adicionei 2 campos com ambos os seus próprios índices. Um usando DATETIME e o outro campo usando DATE.
Desativei o cache de consulta do MySQL para poder testar corretamente e fiz um loop na mesma consulta para 1000x:
SELECT * FROM `logs` WHERE `dt` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10;
DATETIME INDEX:197,564 segundos. SELECT * FROM `logs` WHERE `d` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10;
ÍNDICE DE DATA:107,577 segundos. O uso de um campo indexado por data melhora o desempenho de:45,55%!!
Então, eu diria que se você está esperando muitos dados em sua tabela, considere separar a data da hora com seu próprio índice.