L'utilisation d'une fonction sur une colonne dans une clause WHERE empêche l'utilisation efficace d'un index sur cette colonne. Essayez ceci à la place :
SELECT *
FROM `datetime`
WHERE user_id = 1
AND `date` >= '2010-10-01' AND `date` < '2010-11-01'
Ajouter un index sur (user_id, date)
.