我们的数据(>100 万行)分布在 13 个表中。
我们有超过 15 个基于不同列(例如:地区、年份等)的存储过程(分布)和一个用于大量聚合数据的存储过程。
这些表有一个唯一键 ( int
),用于 INNER JOINS、此 ID 上的聚集索引以及在聚合和分布查询中使用的列上的覆盖索引。
所有这些存储过程都在@8 分钟内运行,但我需要在 1 分钟内得到结果。
我正在考虑的一种解决方法是在第一次运行后存储分布结果和聚合数据,然后只检索数据而不进行任何计算。这种情况可以正常工作,但是在存储过程(即动态 sp)上,我们有过滤器,这使得这个选项有点麻烦。
您对如何最好地处理这种情况有什么建议吗?