ユーザーとユーザーがコメントを提供したすべての飲み物の事前クエリから始めて、いつから始めてみませんか(特定の飲み物について、1人あたり複数のコメントがあるかどうかはわかりません)。次に、日付/時刻のコメントなどの後に、他のすべてのコメントを見つけます...
このクエリは、1人のユーザーの飲み物のコメントのみを基準として開始するため、実際には高速であるはずです。その後、飲み物IDとカットオフ時間に一致するもののコメントテーブルに戻ります。
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