Sql server 2008 如何提高在2005年正常运行的SSIS 2008包的更新性能?

Sql server 2008 如何提高在2005年正常运行的SSIS 2008包的更新性能?,sql-server-2008,ssis,Sql Server 2008,Ssis,我正在将数据仓库从SQLServer2005迁移到SQLServer2008。表更新的性能大幅下降。插页效果很好 我在两种环境中使用相同的SSIS包,但2008年仍然没有正确更新 我已经在所有表上运行了更新统计。该进程使用临时表。我已经删除了所有索引(除了更新所需的一个),但这些措施都没有帮助。我还编写了一个update语句,它模仿SSIS所做的工作,并且运行速度与预期一样快 更新过程使用数据流任务(任务中还有其他内容,如插入已处理的表以了解更新中使用了哪些数据) 这是一个全新的数据库,上面没有

我正在将数据仓库从
SQLServer2005
迁移到
SQLServer2008
。表更新的性能大幅下降。插页效果很好

我在两种环境中使用相同的SSIS包,但2008年仍然没有正确更新

我已经在所有表上运行了更新统计。该进程使用临时表。我已经删除了所有索引(除了更新所需的一个),但这些措施都没有帮助。我还编写了一个update语句,它模仿SSIS所做的工作,并且运行速度与预期一样快

更新过程使用数据流任务(任务中还有其他内容,如插入
已处理的
表以了解更新中使用了哪些数据)

这是一个全新的数据库,上面没有运行任何其他数据库。有什么建议吗

捕获的统计信息

  • 2005,CPU=0,读取=150
  • 2008,CPU=1700,读取=33000
数据库RAM:

  • 2005年,总计40GB/18台Sql Server
  • 2008年,总计128GB/110GB Sql Server

在执行计划中发现了问题。2008年的计划是使用不同的表构建update语句。背景:由于我们在查询这些表时使用了不允许任何其他访问的索引视图,因此我们构建了iViews使用的更小/更精简的表,而不是我们的维度,以便用户可以使用它们。优化器选择的是那些表,而不是我们在查询中指定的表

当我最初执行解释计划时,我使用了错误的查询,该查询没有此功能。这一切都不同了


谢谢

感谢链接@Siva。我已经在使用一个暂存表,我不想重写这个过程,因为问题似乎不仅仅局限于这个表。在这个解决方案中,我还遗漏了什么可以帮助我的东西吗+1在你的回答中,它非常全面。捕获并比较你的实际执行计划。也许SSMS版本和软件包版本之间存在差异?@billinkc-存在明确的差异。在2005年,CPU=0,读取=150;2008年,CPU=1700,读取=33000。所以这里肯定有东西。在我寻找它的时候有什么建议吗?2005年和2008年你们的硬件比较如何?我在dba.se上看到了这个问题。我们可能会标记此票证并将其发送到dba.se,然后查看这是否是数据库问题,而不是SSIS问题。服务器上的RAM存在差异。我会减少SQL Server的RAM,看看是否有帮助。感谢您回来解释!不过,你应该接受这个答案。我会的,但我得等两天。