You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化含嵌套GROUP BY的多表关联SQL语句?

SQL查询性能优化求助

编辑说明:刚修改了最后一条SQL语句的别名,确保别名清晰无重复——此前嵌套语句中有重复的别名a。

背景信息

从另一服务器的数据库获取数据,在数据库外处理后导入临时表#temp1,相关信息如下:

  • 复合主键:FromPK与WordID(WordID为数据处理阶段生成)
  • 数据规模:约30万行
  • 示例数据:
FromPKWordIDsometext
11A
12B
13C
21A
22B
24D

当前执行的查询语句

生成临时表#temp2的查询

select a.FromPK, b.ToPK, count(*) as wordcount
into #temp2 
from #temp1 a 
inner join TableFoo b on a.WordID = b.WordID
group by a.FromPK, b.ToPK

最终查询语句

select a.ID, a.Col1, a.Col2, b.pkid, c.sometext
from TableBar a inner join (
    select b.*, c.pkid from (
        select pkid, max(wordcount) as maxwordcount from 
            #temp2 group by pkid
        ) b join #temp2 c on b.pkid = c.pkid where b.wordcount = c.maxwordcount
    ) d on a.ID = d.pkid join #temp1 e on d.pkid = e.pkid

问题

尝试过将第一条查询嵌套到第二条中替代#temp2,但无论哪种方式,查询速度都极慢。求可行的优化方法?

提前感谢!

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:06:32