Der er en enorm forskel i ydeevne, når du bruger feltet DATE over feltet DATETIME. Jeg har en tabel med mere end 4.000.000 poster og til testformål tilføjede jeg 2 felter med begge deres eget indeks. Det ene bruger DATETIME og det andet felt med DATE.
Jeg deaktiverede MySQL-forespørgselscache for at kunne teste korrekt og gik over den samme forespørgsel i 1000x:
SELECT * FROM `logs` WHERE `dt` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10;
DATETIME INDEX:197,564 sekunder.
SELECT * FROM `logs` WHERE `d` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10;
DATOINDEKS:107,577 sekunder.
Brug af et datoindekseret felt har en præstationsforbedring på:45,55 %!!
Så jeg vil sige, hvis du forventer en masse data i din tabel, skal du overveje at adskille datoen fra tidspunktet med deres eget indeks.