登台和生产数据库

时间:2009-05-18 21:09:55

标签: sql-server

我需要在一个非常大的数据库上运行计算。运行计算时,应用程序显着减慢。可能的解决方法是将其复制到第二个数据库并离线运行计算。完成后,使用实时数据库进行切换。这个过程可以自动化吗?

这是谷歌的搜索索引吗?

4 个答案:

答案 0 :(得分:1)

当然,它可以自动化。但是,如果您要换回数据,则无法更改数据。

我只会传输需要传输的数据,并汇总在传输过程中可以聚合的数据 - 并对目标表进行索引以优化计算。但是,这两个选项都是可能的,无需从数据库中取出数据,只需在数据库中创建其他表。

如果您在同一台机器上进行操作,由于服务器将执行相同的操作,您可能仍会遇到相同的缓慢...

如果“慢”实际上是由锁定/阻止behvaior引起的,并且数据不会被更改,则可以使用表上的WITH(NOLOCK)选项来避免在长时间操作期间阻止其他操作。 / p>

答案 1 :(得分:1)

是的,这可以通过复制,代理任务(假定SQL Server)甚至自定义应用程序自动完成。

答案 2 :(得分:0)

我想说最好的想法是将计算提取到他们自己的模块中,然后在另一个进程中或使用相同数据库的另一台计算机上单独运行。如果没有关于您的特定设置的更多信息,很难确切知道这是否正确。

答案 3 :(得分:0)

有几种方法可以做到这一点。您可以使用sql server agent自动执行。

在不知道更多详细信息的情况下,以及您可以实现数据仓库的计算,尽可能使用聚合