我写了这个查询,它工作得非常完美,但是自从数据库开始增长以来,这个查询变得越来越慢,直到现在几乎需要 54 秒才能执行。有没有办法改进这个查询以使其更快,因为我不希望这个 54 再长了。
SELECT
twitter.user_id AS id
FROM twitter
WHERE NOT EXISTS
(
SELECT stats.id
FROM stats
WHERE stats.user_id = twitter.user_id AND stats.created_on >= now() - INTERVAL 1 DAY
)
GROUP BY twitter.id
LIMIT 0 , 300
我想您的字段缺少索引,因此我建议在连接列和日期字段时添加索引
因此,您可能需要在
stats.user_id
twitter.user_id
stats.created_on
您可以使用explain
来查看查询的执行情况,它将告诉您查询中使用了哪些索引。