我正在将我的数据仓库从 SQL Server 2005
迁移到 SQL Server 2008
。表更新的性能大幅下降。插件效果很好。
我在两种环境中使用相同的SSIS包,但2008仍然无法正确更新。
我在所有表格上都运行了更新统计信息。该过程使用临时表。我已经删除了所有索引(除了更新所需的索引),但这些措施都没有帮助。我还写了一个更新语句,模仿SSIS正在做什么,它按预期运行得很快。
更新过程使用数据流任务(任务中还有其他内容,例如插入processed
表以了解更新中使用的数据)。
这是一个全新的数据库,没有其他任何东西在上面运行。有什么建议吗?
捕获的统计数据IO
数据库RAM:
答案 0 :(得分:3)
问题出现在执行计划中。 2008年的计划是使用不同的表构建更新声明。背景:由于我们使用的索引视图在查询这些表时不允许任何其他访问,因此我们构建了iView使用的较小/较瘦的表而不是我们的维度,以使用户可以使用它们。优化器正在选择那些表而不是我们在查询中指定的表。
当我最初做解释计划时,我使用了错误的查询,该查询没有此功能。这一切都有所不同。
谢谢!