Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 SQL Server 2005数据库引擎优化顾问是否会;曲调;临时桌子?_Sql Server 2005_Temp Tables_Database Tuning - Fatal编程技术网

Sql server 2005 SQL Server 2005数据库引擎优化顾问是否会;曲调;临时桌子?

Sql server 2005 SQL Server 2005数据库引擎优化顾问是否会;曲调;临时桌子?,sql-server-2005,temp-tables,database-tuning,Sql Server 2005,Temp Tables,Database Tuning,我正在尝试使用数据库引擎优化顾问来优化我的数据库。从它所记录的注释(在运行了整个周末之后,它只占分析的40%)来看,DTA似乎无法调优临时表上的操作。事实上是这样吗?否。因为要将索引应用于临时表,必须将索引添加到使用临时表的脚本中。它不能仅仅作为一个set-and-forget操作应用于非永久表 您可以做的是在数据库中创建一个具有相同名称的实际表,从脚本中删除临时表的创建,并替换为TRUNCATE表。如果创建此表,然后对其执行操作,DTA将建议为永久表编制索引。然后编写这些推荐索引的脚本,并将它

我正在尝试使用数据库引擎优化顾问来优化我的数据库。从它所记录的注释(在运行了整个周末之后,它只占分析的40%)来看,DTA似乎无法调优临时表上的操作。事实上是这样吗?

否。因为要将索引应用于临时表,必须将索引添加到使用临时表的脚本中。它不能仅仅作为一个set-and-forget操作应用于非永久表

您可以做的是在数据库中创建一个具有相同名称的实际表,从脚本中删除临时表的创建,并替换为TRUNCATE表。如果创建此表,然后对其执行操作,DTA将建议为永久表编制索引。然后编写这些推荐索引的脚本,并将它们添加到脚本中的临时表中


另外:请注意,虽然DTA在大多数情况下都做得很好,但它并不总是正确的…

我很担心这一点。不知道你的第二句话是什么意思。毕竟,我确实在使用temp表的代码中创建了索引,所说的代码就是我让DTA查看的代码。是的,我不会盲目相信DTA的建议。:-)谢谢。@Greg Dougherty:通过将临时表替换为永久表,DTA可能会对该表提出索引建议。只需编写这些索引定义的脚本并添加到临时表的定义中。