在页面上,我有一个查询,即降低页面加载速度。
SELECT * FROM users1 WHERE user_id NOT IN (SELECT user_id FROM users2)
USERS1
是该站点所有用户的表,有很多数据。
USERS2
是互相关注用户的表。
因此,我需要选择一些尚未关注的用户。
有什么优化方法吗?
我正在发布真正的查询:
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;
user_id
字段索引。
查询耗时 0.0912 秒
此查询在数据较少的测试服务器上运行良好,但在实时查询服务器上最多需要 3 秒。