我在SQL服务器上运行了碎片整理报告,并且数据库的mdf文件报告为99%碎片。我问了一位同事,他们说这可能是正常的,因为它只是内部文件类型的工作方式。
这是一个问题,是否会为此文件运行磁盘碎片整理提高数据库性能?这是一个痛苦,因为它需要磁盘上的大量空间,因为它是一个巨大的文件,所以我想确定是否有必要。
更新
从答案中引出的另一个相关问题。 RAID条带配置如何影响这一点。如果数据在多个磁盘上条带化,那么碎片整理是不是一个问题?
答案 0 :(得分:3)
只要您确定,事实上,您有数据库响应问题,这将是一个很好的改进选择。据推测,你至少已经确定有一个问题需要解决,而且它存在于数据库中。 (即你已经测试了比你想要的慢的查询;或者你看到了锁;等等。)
否则它开始看起来像猜测和尝试。根据您的查询模式,缓存自然会补偿很多这些。
答案 1 :(得分:2)
简短的回答是肯定的,碎片整理会有所帮助。
聚簇索引尝试组织索引,以便只需要顺序读取。如果.MDF在磁盘上是连续的,那么这很好。如果文件遍布整个磁盘,那就不那么多了。
即使SQL在8K块中分配必须在整个地方移动磁盘头,也会导致访问时间慢得多。你真的希望文件连续。
答案 2 :(得分:0)
避免这种情况的一个好方法是不依赖于自动增长。让MDF的房间呼吸。