大数据量关联聚合查询

新手上路,请多包涵

现在有两张表 Bs_Articles 、ReferenceRelationship,数据量分别是一千四百万和一亿行数据
Bs_Articles表是基础表,ReferenceRelationship 表是 Bs_Articles 表的引用关系数据
现在需要join两表,根据 Bs_Articles.ID 聚合 ,统计 Bs_Articles 表中四万条数据在 ReferenceRelationship 表中的引用关系数量
原来执行需要近三分钟,重建了两表的索引后现在执行需要一分十秒左右,计划要求在5秒左右

select   a.id, COUNT(distinct b.original_articleid) as UseCount
from     Bs_Articles as a with(nolock) join ReferenceRelationship as b with(nolock) on a.ID = b.reference_articleid
where    contains(([Subject], [Abstract]), 'hello world')
group by a.id

这个是sql的执行计划
image.png

阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进