Mengapa tidak memulai dengan permintaan awal pengguna dan semua minuman yang mereka berikan komentar dan pada jam berapa (tidak tahu apakah Anda memiliki banyak komentar per orang untuk minuman tertentu atau tidak). Kemudian, temukan komentar dari yang lain SETELAH komentar tanggal/waktu Anda...
Kueri ini sebenarnya harus lebih cepat karena MULAI dengan hanya SATU PENGGUNA komentar minuman sebagai dasar, LALU kembali ke tabel komentar untuk mereka yang cocok dengan ID minuman dan batas waktu.
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