我们在SQL Server 2012中运行具有多个大型数据集的数据库(一些数据集位于50M +记录范围内)。以前的SQL开发人员设计了查询并对其进行了优化,但它们仍然需要2个多小时才能运行。
他通过创建一个静态表来解决这个问题,每次运行查询时都会更新,所以如果数据没有更改,查询将从此汇总表运行。静态表通过对相关表执行校验和来更新,如果校验和显示数据已更改,则更新静态表。
我正在努力加快整个过程。我们设计了一个内部GUI来运行查询,管理员可以自己运行报告,但我不希望他们浪费2个小时等待报告。我将审查他正在使用的索引,看看我是否可以进一步优化它们并调整他的代码,但我怀疑我可能只会获得最小的性能提升。
我喜欢用于报告的静态表的想法,但希望更频繁地更新(最好是每晚),但由于数据也可以根据任务而改变,我想避免任何性能命中。例如,团队可能会在一夜之间加载记录。
任何建议都会很棒。谢谢。