Usar uma função em uma coluna em uma cláusula WHERE impede o uso eficiente de um índice nessa coluna. Tente isso em vez disso:
SELECT *
FROM `datetime`
WHERE user_id = 1
AND `date` >= '2010-10-01' AND `date` < '2010-11-01'
Adicione um índice em
(user_id, date)
.