Perché non iniziare con una prequery dell'utente e tutte le bevande che ha offerto commenti e a che ora (non so se hai più commenti per persona per un determinato drink o meno). Quindi, trova i commenti di tutti gli altri DOPO il tuo commento di data/ora...
Questa query dovrebbe effettivamente essere più veloce poiché INIZIA con un solo commento sul drink di UN UTENTE come base, POI torna alla tabella dei commenti per quelli che corrispondono all'ID drink e al tempo limite.
SELECT STRAIGHT_JOIN
dc.*
from
( select
drinkID,
max( datetime ) UserID_DrinkCommentTime
FROM
drinkComments
WHERE
userID = 1
group by
drinkID ) PreQuery
join DrinkComments dc
on PreQuery.DrinkID = dc.DrinkID
and dc.datetime > PreQuery.UserID_DrinkCommentTime
order by
dc.DateTime desc