SQL Server 数据库统计信息在执行后降级

use*_*710 6 sql-server etl entity-framework c#

我在查询我的 SQL Server 数据库时遇到了超时,特别是一张表。我尝试更新统计数据并修复了几天的性能问题。

我开始深入挖掘,发现有一个预定的同步任务,可以从 Web 服务中检索数据并更新数据库。为此,此任务使用实体框架。几位同事试图解决这个问题,但到目前为止没有运气。我想退后一步。

  1. 把EF扔出图片
  2. 这不应该是一段 C#/EF 代码来做到这一点,而是一个 ETL 工具的完美工作。增量更新应该(根据我对数据库统计信息的理解)。到目前为止,每次计划任务运行时,一切都在更新。

有人可以在这种情况下为我提供更多信息或见解以获得线索,以便我可以在引入新工具和解决方案之前尝试修复代码。

Chr*_*gin 0

如果您启用了 AUTO_UPDATE_STATISTICS,那么是的,一旦修改了 20% 的数据,您的统计信息就会更新。但是,如果您知道正是这个过程导致您的统计数据不正常,您也可以在该过程运行后自行更新它们。

https://msdn.microsoft.com/en-us/library/ms187348.aspx

该过程完成后,对受影响的表调用 UPDATE STATISTICS。