我想查询海量表,并且需要降低查询运行时间。
我试图通过针对每个单独的表分区运行汇总查询,将目标查询分为多个步骤(然后将汇总输出)。我的where子句中的所有列都已编入索引(非聚集)-我在查询中提取的所有列都已编入索引。 “月”列是我们的分区索引。
如何编写查询,以便明确告诉SQL Server仅使用一个“月”分区?
编辑以包括执行计划: 根据评论,使用以下网站:https://www.brentozar.com/pastetheplan/?id=SJRAIUD3V
答案 0 :(得分:0)
假设您已阅读建议并仍要使用分区,则在将表以Month作为key_column进行分区后,查询将如下所示。
SELECT <Your_select_list>
FROM <dbo.partitioned_table>
WHERE key_column = <target_month>