【问题标题】:Is it OK to drop sql statistics?删除sql统计信息可以吗?
【发布时间】:2010-09-06 10:20:07
【问题描述】:

我们一直在尝试将许多列从可空更改为不可空,这涉及删除所有关联对象、进行更改并重新创建关联对象。

我们一直在使用 SQL 比较来生成脚本,但我注意到 SQL 比较不会编写统计对象的脚本。这是否意味着可以删除它们并且数据库将像没有它们之前一样工作,还是 Red Gate 错过了一个技巧?

【问题讨论】:

    标签: sql sql-server scripting statistics


    【解决方案1】:

    你为什么要丢东西?在我看来,序列应该更简单,破坏性更小:为所有这些对象分配一个默认值,然后将更改设置为不可为空。

    【讨论】:

      【解决方案2】:

      统计数据过于特定于数据,无法进行工具化。在数据集上盲目地重新创建它们可能会非常低效。

      【讨论】:

        【解决方案3】:

        如果您有更新统计信息和自动创建统计信息,那么它应该像以前一样工作 您也可以在进行更改后运行sp_updatestatsUPDATE STATISTICS WITH FULLSCAN

        【讨论】:

          【解决方案4】:

          自动创建和自动更新统计信息被认为是最佳做法。 Sql Server 将在需要时创建它们。您会经常看到调优向导生成大量此类,并且您还会看到人们建议您将更新统计信息作为维护计划的一部分,但这不是必需的,实际上可能会使事情变得更糟,只要自动创建和自动更新已启用。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-05-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-07-09
            • 1970-01-01
            相关资源
            最近更新 更多