我在SQL服务器上运行了碎片整理报告,数据库的mdf文件报告为99%的碎片。我问了一位同事,他们说这可能是正常的,因为这只是这种类型的文件在内部工作的方式。
这是一个问题吗?对这个文件运行磁盘碎片整理会提高数据库性能吗?这是一种痛苦,因为它需要磁盘上的大量空间,因为它是一个巨大的文件,所以我想确定它是否是必要的。
更新
从答案引出的另一个相关问题。RAID条带化配置对此有何影响。如果数据在多个磁盘上进行条带化,碎片整理问题会更小吗?
发布于 2009-04-05 23:12:13
简短的回答是,磁盘碎片整理会有所帮助。
聚集索引试图组织索引,以便只需要顺序读取。如果.MDF在磁盘上是连续的,这是很好的。如果文件散布在整个磁盘上,就不会有太多问题。
而且,即使SQL是以8K块为单位进行分配的,但是必须将磁头到处移动会导致访问时间变慢。您真的希望文件是连续的。
发布于 2009-04-05 23:35:21
只要你已经确定,事实上,你有一个数据库响应问题,这将是一个很好的改进候选者。想必你至少已经确定了有一个问题需要解决,而且它就在数据库中。(例如,你已经测试了比你想要的慢的查询;或者你看到了锁;等等)。
否则,它开始看起来像是猜测和尝试。根据查询模式的不同,缓存自然会对此进行大量补偿。
发布于 2009-04-06 15:22:57
避免这种情况的一个好方法是,而不是,它依赖于自动增长。让MDF有喘息的空间。
https://stackoverflow.com/questions/719849
复制相似问题