Sql server 2005 大型查询增加了TempDB
我对我的SQLServer2005有一个巨大的查询。这必须每天运行一次,但当此查询运行时,临时数据库从2GB增长到48GB。当此查询在单个表中添加/更新80K条记录(约120列),top优化或查找tempdb增长原因的最佳方法是什么 对于这个查询,我应该怎么做才能使tempdb不会增长这么多 如有任何建议,将不胜感激 注: 此查询没有任何诱惑项、表变量或CTE。 只是一堆Sql server 2005 大型查询增加了TempDB,sql-server-2005,tempdb,large-query,Sql Server 2005,Tempdb,Large Query,我对我的SQLServer2005有一个巨大的查询。这必须每天运行一次,但当此查询运行时,临时数据库从2GB增长到48GB。当此查询在单个表中添加/更新80K条记录(约120列),top优化或查找tempdb增长原因的最佳方法是什么 对于这个查询,我应该怎么做才能使tempdb不会增长这么多 如有任何建议,将不胜感激 注: 此查询没有任何诱惑项、表变量或CTE。 只是一堆 INSERT INTO ... with MULTITABLE JOINS with SUBQueries... 你可能想
INSERT INTO ... with MULTITABLE JOINS with SUBQueries...
你可能想看看。很可能您的查询正在使用一个临时表来运行,但是在不知道任何信息的情况下很难判断
查看您的问题更新,您的子查询似乎使用了诱人的策略,这会淹没您的TempDB。尝试删除这些子查询和/或减少在单个查询运行中处理的数据量应有助于减少TempDB的增长。如果看不到确切的代码,很难为您提供帮助。但查询似乎需要优化
当然,您可以调整tempdb的大小,使其保持在48gb,至少这样它就赢了;当这个东西运行时,我们不必花时间来增长。这个查询是由其他人编写的。原来我不应该那么懒。我查看了查询,它确实需要优化。在39个查询中,我只创建了3个。