查询从120多个表中拉取12-15 GB数据 [英] Query pulling 12-15 GB data From more than 120 tables

查看:160
本文介绍了查询从120多个表中拉取12-15 GB数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个从几乎125个不同的表中提取数据的查询,我已经创建了大约13个嵌套存储过程,调用其他存储过程来提取所有需要的数据。令人惊讶的是,查询需要很长时间才能执行,有时我不得不关闭连接并重新运行它。

有人建议我使用临时表,使用SSIS包将所需数据移动到那里,并从那里拉出数据,但我有点不愿意使用SSIS,因为我对SSIS不是很满意,而且这个报告偶尔会被要求,而且为一个报告移动大约10-15 GB的数据似乎很麻烦。

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

推荐答案

创建报表数据库。在某个频率上,可以是每小时、每天或满足报告用户需求的任何频率,将数据从事务数据库ETL到报告数据库。

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

最后,就设计报表数据库而言,请考虑以有助于报表性能的方式转换数据。许多人出于报告的目的而"扁平化"或非正常化数据。我们将事务数据ETL到使用"星型架构"模式的数据仓库中,我们还拥有一个Analysis Services数据库和MDX报告。很可能您不需要为一个报告走那么远,但是,这是沿着报告和BI的优化数据结构这条相同的道路继续走下去的。

这篇关于查询从120多个表中拉取12-15 GB数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆