环境: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个表的表内部联接查询在实际执行计划中获得“语句的早期终止原因:超时”。错误的内存...
可能是您的索引变得零散。如果您经常插入/删除/更新9个表,则可能会发生这种情况。