我需要从过夜批次更新的数据中提取一些管理信息(MI)。我将使用聚合函数从具有数十万行和可能数百万行的表中生成MI。信息将显示在网页上 这里的关键因素是SQL Server处理聚合函数的效率 我面临着两种生成数据的选择:
最佳方法是什么?
答案 0 :(得分:4)
如果数据在一天内没有变化,则在夜间加载期间缓存值。它将使检索更快。必要时,我是汇总表的忠实粉丝。在你的情况下,他们是必要的!
您可能想要查看的一件事,因为您拥有SQL Server,是Analysis Services。通过创建多维数据库或多维数据集,这些聚合都可以自动发生,您可以向下钻取数据并以思考的速度查找数字,而不是尝试编写捕获所有这些数字的报告。花10分钟和watch the intro video,我认为你会对SSAS的力量有一个真正的认识。
答案 1 :(得分:3)
听起来像分析服务多维数据集实际上最适合您的问题。可以在数据加载发生后运行多维数据集处理,以聚合数据供以后使用。
但是,您也可以使用索引视图,如果设计正确并与NO EXPAND表提示一起使用,可以显着提高性能。