【问题标题】:Will SQL Server 2005 Database Engine Tuning Advisor "tune" Temporary Tables?SQL Server 2005 数据库引擎优化顾问会“优化”临时表吗?
【发布时间】:2011-08-12 09:28:31
【问题描述】:

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

【问题讨论】:

    标签: sql-server-2005 temp-tables database-tuning


    【解决方案1】:

    没有。因为为了将索引应用于临时临时表,您必须将索引添加到使用临时表的脚本中。它不能仅仅作为设置和忘记操作应用于非永久表。

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

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

    【讨论】:

    • 我害怕那个。不知道你的第二句话是什么意思。毕竟,我确实在使用临时表的代码中创建了索引,所说的代码就是我让 DTA 查看的代码。是的,我不会盲目相信 DTA 的建议。 :-) 谢谢。
    • @Greg Dougherty:通过将临时表临时替换为永久表,DTA 可能会为该表提供索引建议。只需编写这些索引定义的脚本并添加到临时表的定义中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多