在頁面上我有一個查詢,這是使頁面加載速度下降。查詢優化,而不是在
SELECT * FROM users1 WHERE user_id NOT IN (SELECT user_id FROM users2)
USERS1
是與網站,大量數據的所有用戶表。 USERS2
是以下eachother用戶的表格。
所以,我需要選擇一些用戶,這不是跟隨下面。
任何優化方法?
我張貼真正的查詢:上user_id
領域
SELECT users.*
FROM (
SELECT user_id
FROM users
WHERE user_id!=156 AND user_id NOT IN (
SELECT follower_id
FROM following
WHERE user_id=156
) ORDER BY RAND() LIMIT 2
) AS temp
JOIN users ON users.user_id = temp.user_id;
指標。
查詢花費0.0912秒
此查詢的工作不是用更少的數據測試服務器上的壞,但它需要長達3秒的活之一。
瞭解[SQL連接(http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of -sql-joins.html);並確保你在'user_id'列上有索引。 – eggyal 2012-07-25 12:21:05