数据库是SQL 2008R2企业版。sql服务器索引重建减慢第一个查询
我有一个SSIS集成,每晚在表格中截断并加载约1500万行。发生这种情况后,我有一个执行SQL任务,该任务重建表b/c上的索引,它在trunc和load之后严重碎片化。
我遇到的问题是第一次使用该表作为数据源的报告。第一次执行需要一段时间。然而,在第一次执行之后,报告按照预期快速增长,直到第二天晚上再次发生截断和加载和索引重建。
我能做什么的任何建议可以修复该表上的第一个查询的性能?
数据库是SQL 2008R2企业版。sql服务器索引重建减慢第一个查询
我有一个SSIS集成,每晚在表格中截断并加载约1500万行。发生这种情况后,我有一个执行SQL任务,该任务重建表b/c上的索引,它在trunc和load之后严重碎片化。
我遇到的问题是第一次使用该表作为数据源的报告。第一次执行需要一段时间。然而,在第一次执行之后,报告按照预期快速增长,直到第二天晚上再次发生截断和加载和索引重建。
我能做什么的任何建议可以修复该表上的第一个查询的性能?
你可以尝试运行版本的报告后立即索引重建这不仅说TOP 1
选择任何数据集,建立必要的缓存和执行计划,这将“启动”缓存并使设置最优化,而无需整个运行报告。
非常聪明的工作,谢谢。如果上面avitus推荐的统计信息不起作用,我会给这个镜头。 – user1134307
看起来像这将是我的解决方案,它绝对有效,并且是一个光滑的工作。感谢您的帮助 – user1134307
不错,很高兴它帮助你! :) –
后重建索引尝试更新的统计信息,以解决您的性能问题:(?存储过程)
EXEC sp_updatestats
有趣,我会给这个镜头,看看它是否适合我。 – user1134307
我更新了数据源中使用的表的统计信息,但这并没有解决所描述的第一个执行问题。我是否正确更新表格的统计信息? – user1134307
您说报告,这是您所指的SSRS报告吗? – billinkc
是的,这是一份ssrs报告。但我猜这部分可能不重要b/c存储过程是数据源执行相同的报告或直接在ssms中运行。 – user1134307
因此,在重建后立即执行存储的proc会遇到同样的性能,无论它是来自SSRS还是SSMS/sqlcmd/etc?我最初的理论是SSRS由于20分钟的保持循环而循环下来。 – billinkc