我在使用MYSQL進行IN查詢時遇到問題。如何提高我的子查詢的性能?
基本上我建立一個朋友圖,當用戶〜< 5個朋友,它減緩抓取
然而與高朋(7000+)的用戶 - 它運行速度更快的超級。
這裏是我的實體模型查詢:
SELECT *
FROM activity
WHERE user_id IN
(
SELECT friend_id
FROM friends
WHERE user_id = 1 and approved = 1
)
order by activity.created_at DESC
LIMIT 25
出於某種原因,如果USER_ID有< 5位朋友,查詢需要15秒返回0項。
在朋友表上,我有一個關於user_id的索引並被批准。在活動條目上,我有一個關於created_at的索引。
任何建議或重新分解?
這是一個子查詢 - http://dev.mysql.com/doc/refman/5.0/en/optimizing-subqueries.html – ajreal