代码之家  ›  专栏  ›  技术社区  ›  Mike Fielden

何时压缩Sql Server数据库?

  •  5
  • Mike Fielden  · 技术社区  · 16 年前

    我们有一个SQLServer2000数据库,它保存了运行在相对较旧的服务器上的大多数团队数据库。

    最近,我们在各种应用程序中的一些数据库调用中遇到了一些奇怪的减慢问题(因此我知道它不是特定于应用程序的)

    压缩数据库仅仅被认为是一般维护吗?是否有大量的数据库、表或记录可能导致这种速度减慢,从而有助于压缩?

    正在使用的数据库数:6

    数据库平均大小:20MB,Fogbugz除外,约11000MB

    2 回复  |  直到 16 年前
        1
  •  5
  •   gbn    16 年前

    除非您真的需要,否则您不会压缩SQL Server数据库(您会“收缩”它)。这不是MS Access,也不会回收未使用的空间(当然可以,但它掩盖了一个更重要的问题)

    • 数据统计数据不足
    • 缺少索引

        2
  •  3
  •   AdaTheDev    16 年前

    在SQL Server中,您需要对数据库进行各种维护。

    10MB是一个非常非常小的数据库,因此缩小数据库对您来说是不值得的(“压缩”是您使用MS Access数据库所做的,在Sql Server中,您可以缩小数据库)。

    相反,更可能的情况是,对于表中经常查询的列,您没有合适的索引。或者,您的索引是零碎的。

    一个很好的起点是确切地了解哪些查询花费了很长时间(启动SQL Profiler和monitor是个好主意)。然后,您可以查看这些查询正在做什么,它们正在访问哪些表/列,然后查看是否有适当的索引。