SQL Server查询优化器执行计划“”语句的提前终止原因:超时”

问题描述 投票:1回答:2

环境:Windows 2008 R2,SQL Server 2008 SP1

问题:具有9个表的表内部Join Query在实际执行计划中获得“语句的早期终止原因:超时”。

分配了错误的内存授权。

即使有很多可用的ram,也用tempdb而不是ram进行排序。

在tempdb中进行排序时,性能很慢。

要考虑:如果我从9个表之一中删除,创建和删除索引之一,查询将再次获得完全优化,并且在ram中以最佳性能进行排序。但是,只要稍加修改查询,它就会再次失去完整的优化。

问题:有人看过这个问题吗?

是否有任何方法可以获取有关为什么发生“超时”的更多信息?

优化器实际上在做什么?

如果没有解决方案来批准查询优化器问题,我会考虑为tempdb创建一个ramdisk。将ramdisk用于tempdb有什么风险?

我已经尝试过的东西:使用FULLSCAN来更新{ALL 9 Tables}上的统计信息

INDEX REBUILD的工作方式与我上面所做的DROP CREATE DROP操作类似。

环境:Windows 2008 R2,SQL Server 2008 SP1问题:具有9个表的表内部联接查询在实际执行计划中获得“语句的早期终止原因:超时”。错误的内存...

sql sql-server sql-server-2008 sql-server-2008-r2
2个回答
0
投票

可能是您的索引变得零散。如果您经常插入/删除/更新9个表,则可能会发生这种情况。


© www.soinside.com 2019 - 2024. All rights reserved.