クエリを最適化してください。どのように最適化MySQLのクエリ:ユーザーは最後のメッセージを読む
ユーザーが読んだとき、私はメッセージ
comment_karma
セットを送信するメッセージを受信するユーザーのためのフィールド
- 'comment_parent'、
- ユーザーのための 'user_idを' がテーブルを持っています'更新されました'は、ユーザーがメッセージを読むときの日時です。
最終メッセージを読んでいる人のリストを取得する方法o最後の7日間。
最後に見つかったメッセージに最適な方法がありますか?SELECT max(updated
)?
SELECT wc.comment_parent,wc.user_id, wc.updated FROM `wp_comments` wc
WHERE (wc.comment_parent IN (4786,322,1492,257,4760,40,41) AND wc.user_id=1)
AND wc.`comment_karma` = 1
AND updated = (SELECT max(`updated`) FROM `wp_comments` as cc WHERE cc.`user_id`= wc.user_id AND comment_parent = wc.comment_parent)
AND updated > DATE_SUB(NOW(),INTERVAL 1 WEEK)
ORDER BY wc.updated DESC LIMIT 0 , 30
このバージョンの問題点は何ですか? –
問題はありませんが、おそらく最良の方法はありますか? –