1

我想从我们的 MS SQL 服务器上的 ODBC 连接数据库创建表的缓存副本。我们目前正在直接从几个 Excel 表连接到 ODBC 连接并运行查询。它们大约需要 1 到 2 分钟才能完成,并且每天运行几次时,加起来很快。因此,为了尝试解决这个问题,我从 ODBC 连接中复制了几个表并运行了一个查询,大约需要 11 秒。我想创建表的副本并每隔一小时左右更新一次。但我只想更新更改的表和行以尝试降低服务器负载。我想将其作为存储过程来执行。我对 SQL 不是很好,想知道是否有一种半简单的方法可以做到这一点

4

1 回答 1

0

您可以编写一个存储过程来运行您的查询,只需稍微修改它即可输出到物理表。

例如:

select a.FirstName, a.LastName, b.City, b.State, b.zip into _temp_report
from customers a join addresses b on a.customer_id = b.customer_id

在上面的例子中,into _temp_report部分是重要的部分。它将使用您的查询结果创建一个新的物理表。

然后,您可以简单地将报告指向该表。

您可以使用 SQL Server 代理创建按计划运行存储过程的作业。

您显然需要添加一些逻辑以在每次运行存储过程时删除 _temp_report 表,这样您就不会在每次作业运行时都尝试重新创建它。

于 2013-07-10T18:32:26.093 回答