Sug*_*rue 7 index sql-server-2008 sql-server fragmentation
我有 SQL Server 2008 和一些数据库。我发现我的表的一个索引非常零碎(我怎么知道:http : //msdn.microsoft.com/en-us/library/ms189858.aspx)
的avg_fragmentation_in_percent是高达97%以上,且片段计数是数千。非常有趣的avg_fragment_size_in_pages是,它只是略大于 1。我可以对其进行碎片整理,这有帮助,但我想首先防止这种情况发生。
为什么每个片段的页数如此之低?我有FILEGROWTH = 128MB整个数据库,但是这个特定的表是最活跃的 - 那么有没有办法告诉 SQL Server 为这个表或索引分配更多的增长,以便每个片段的页数更高?
Rem*_*anu 15
首先,您应该评估碎片化的影响。很多时候,碎片化被描绘成所有服务器问题的最终邪恶原因,而没有考虑其实际影响。碎片化会影响几个方面:
以上都是不好的,但这是真正的交易:如果不存在上述任何症状,您可能会有 97% 的碎片化。高碎片确实会导致所有这些问题,但前提是您的特定工作负载实际上以导致这些症状出现的方式与碎片交互。
我建议使用等待和队列方法来定位您的实际性能瓶颈并适当地评估它们。您可能会很好地确认碎片具有严重的影响,并且需要更改架构和可能的应用程序来解决问题,但是您可能会发现问题出在其他地方并且解决方案完全不同。
最后:您可能还会发现花费 5000 美元购买更多 RAM 和一些好的 SSD 可以完全缓解您遇到的问题。在您对这样的补救措施(什么,没有解决根本原因?诅咒!)感到恐惧之前,请考虑与应用程序更改相关的风险和成本......
| 归档时间: |
|
| 查看次数: |
1297 次 |
| 最近记录: |