gpt4 book ai didi

mysql - 获取 news_tags 和 users_tags 的交集查询速度慢

转载 作者:可可西里 更新时间:2023-11-01 08:09:49 27 4
gpt4 key购买 nike

我有两个表:“news_tags”和“users_tags”。现在我想为特定新闻获取合适的用户。我的查询得到了正确的结果,但它太慢了。

到目前为止,这是我的查询:

SELECT `users_id`
FROM `users_tags`
WHERE `tags_id` IN (SELECT `tags_id` FROM `news_tags`
WHERE `news_id` = '$news_id')
GROUP BY `users_id`
ORDER BY `users_id`

有没有办法更快地做到这一点?

非常感谢和问候

最佳答案

转换为 INNER JOIN 会给你一个提升。

SELECT `users_id` FROM `users_tags` u INNER JOIN news_tags t 
ON u.tags_id = t.tags_id
WHERE `news_id` = '$news_id' GROUP BY `users_id` ORDER BY `users_id`

然后确保您在 news_tagsnews_id 列上有索引,并且在 users_tags< 的 tags_id 上也有索引

事实上,users_tags(tags_id, users_id) 上的复合索引可能会更好。所有这些都需要在查看您的 EXPLAIN 输出后决定。

关于mysql - 获取 news_tags 和 users_tags 的交集查询速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41954425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com