SQL Server - 由于报告查询而避免在日志记录表上写入超时

时间:2014-01-13 09:45:12

标签: sql sql-server sql-server-2008-r2

我在电子邮件发送系统中有两个非常繁忙的表。一个用于批量发送邮件,另一个用于日志记录。运行昂贵的查询,使用这两个表来生成UI的统计信息。我希望删除这些表的报告开销,因为我在生成报告时看到了超时。

我的问题是 - 在生成报告数据时,我有哪些选项可以减少这两个表的查询开销。

我考虑使用触发器来创建表的精确副本。 SQL Server中是否有内置的功能来镜像数据库中的数据?如果我可以避免不必要地增加数据库,尽管这将是一个优势。如果统计数据不是实时数据并不重要。

2 个答案:

答案 0 :(得分:1)

此方案有内置功能,称为Database Snapshot。 如果对数据库快照表运行查询,则不应在原始数据库上创建共享锁。

答案 1 :(得分:0)

您可以将资源调控器用于SQL Server。不幸的是,我只读过它并且尚未使用它。它用于隔离SQL Server上的工作负载。 如果有帮助,请尝试告诉我们。 一些有用的链接:MSDN SQLBlog technet

亲切的问候, 萨米特