一条查询30秒多的SQL求优化

meiwenhui 2016-03-24 10:42:46
需求是这样的。

有表如下
t_article(id,title) 数据100W+
t_tag(id,name) 数据 10W+
t_article_tag(article_id,tag_id); 数据300W+


现在要查与article表中id=1相同tag的article记录。
求大神 SQL语句怎么写效率高?

...全文
199 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
试试这个:
select ta.*
from t_article ta
inner join
(
select distinct tat.article 
from t_article_tag tat 
inner join t_article_tag t1 
on tat.tag_id = t1.tag_id
where t1.article_id = 1
) v
on ta.id = v.article_id
  • 打赏
  • 举报
回复
另外,要查询速度快,还要建索引

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧