在电子邮件发送系统中,我有两张非常忙的桌子。一个用于分派批处理邮件,另一个用于日志记录。运行使用这两个表来为UI生成统计数据的代价高昂的查询。我想删除这些表上的报告开销,因为我在报告生成过程中看到超时。
我的问题是,在生成报告数据时,有哪些选项可以减少这两个表上的查询开销。
我已经考虑过使用触发器来创建表的精确副本。SQL server中是否有任何用于镜像数据库中的数据的内置功能?但是,如果我可以避免不必要的数据库增长,这将是一个优势。如果统计数据不是实时的,那也没关系。
发布于 2014-01-13 17:51:58
这个场景有一个内置的功能,它被称为Database Snapshot。如果对DB快照表运行查询,则不应在原始数据库上创建共享锁。
发布于 2014-01-13 18:30:54
您可以使用资源调控器for SQL Server。不幸的是,我只读到过它,还没有用过它。它用于隔离SQL Server上的工作负载。如果有帮助,请尝试让我们知道。一些有用的链接:MSDN SQLBlog technet
亲切的问候,苏米特
https://stackoverflow.com/questions/21088037
复制相似问题