查询从120多个表中提取12-15 GB数据

时间:2013-09-28 21:01:38

标签: sql sql-server sql-server-2008 ssrs-2008

我有一个查询,它从大约125个不同的表中提取数据,我创建了13个嵌套的存储过程,调用其他存储过程来提取所有需要的数据。惊喜惊喜查询需要很长时间才能执行,有时我必须杀死他的连接并重新运行它。

我被建议使用临时表,使用SSIS包在那里移动所需数据并从那里提取数据,但我有点不愿意使用SSIS,因为我对SSIS不太满意并且此报告被请求一次一段时间以及为一份报告移动10-15 GB的数据似乎很麻烦。

任何建议任何想法请使这个任务的地狱更简单,更快,更不容易出错???

1 个答案:

答案 0 :(得分:1)

创建报告数据库。在某些频率上,每小时,每天或任何频率满足报告用户的需求,ETL将数据从事务数据库转移到报告数据库中。

您可以使用SSIS,也可以选择为ETL执行一些存储过程。无论如何,您可能会使用SQL代理作业来安排它。

最后,在设计报表数据库方面,请考虑以有助于报表性能的方式转换数据。许多人为报告目的“扁平化”或取消标准化数据。我们将事务数据ETL到使用“星型模式”模式的数据仓库中,我们还有一个Analysis Services数据库和MDX报告。对于一份报告,您很可能不需要那么远,但是,这是针对报告和BI的优化数据结构的相同路径。