2010-01-11 36 views
2

我有很多查询需要tunned和我在DTA(SQL 2005附带的数据库引擎优化顾问)中继给我一些索引的建议。但看起来像DTA无法理解使用临时表的查询。有什么方法可以得到索引建议。性能调优与程序临时表

感谢您的建议

问候 DEE

回答

2

做这样的事情,你将不得不拉开存储过程和建立基于建造的临时表的一些“假”的情况sprocs(即创建一个临时数据库并将表重建为永久表)。设置场景并尝试调整顾问。

实际上,如果您想以特别复杂的方式调整使用临时表的sprocs,那么您在这种情况下就会陷入困境。

+0

感谢您的评论,但如果我这样做和DTA建议在伪造的表(临时表)上创建索引,那么下一步是什么? – DEE 2010-01-11 15:53:02

+1

那么,如果它们合理,你可以在#temp表上创建索引作为存储过程代码的一部分。我有几个模块创建一个#temp表,然后在执行任何工作之前在其上创建索引。通常有多少行进入#temp表中?你尝试过表格变量或CTE吗? – 2010-01-11 16:10:20

+1

据我的经验,如果你在#temp表中有足够的行需要索引,那么@table_variables会更慢 – 2010-01-11 16:32:46