需求是这样的。
有表如下
t_article(id,title) 数据100W+
t_tag(id,name) 数据 10W+
t_article_tag(article_id,tag_id); 数据300W+
现在要查与article表中id=1相同tag的article记录。
求高手 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