Code Bye

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

需求是这样的。
有表如下
t_article(id,title)   数据100W+
t_tag(id,name)   数据 10W+
t_article_tag(article_id,tag_id);  数据300W+
现在要查与article表中id=1相同tag的article记录。
求高手 SQL语句怎么写效率高?
解决方案

40

试试这个:
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

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明一条查询30秒多的SQL求优化