我正在使用SQL Server 2012,从几天开始,我注意到一些索引的碎片正在迅速增长。我读过不同的文章并应用了填充因子。
首先,我将填充系数改为95并进行重建,一天后破碎率约为50%。因此,我将填充系数降低到90,然后降低到80,但在一天后,碎裂再次达到50%。
我需要一些帮助,以找出日益分散的原因和解决办法来解决它。
FYI,我在索引级别上应用填充因子,只有4-5个索引有此问题,我已经将填充因子应用于其他索引,它们也运行良好。
提前谢谢。
发布于 2017-07-15 13:42:37
导致索引fragmentation..some的原因有很多,它们的值在以下。
1.插入和更新导致分页的操作
2.删除业务
3.从混合区初步分配页数
4.大行号
Server仅在创建、重新生成或重新组织索引时使用填充因子,所以即使指定填充因子为70,也可能会得到分页。进一步的索引分割是任何OLTP环境的“预期”和“不可避免”的特征。
因此,使用填充因子设置,sql server在重新生成索引时会留下一些空间,这只会在第一个场景中有所帮助,而且这也会影响到您的工作负载。
因此,我建议您不要太担心碎片问题,除非您的工作负载范围很大,scans..below是一些帮助您的链接。
此外,您可以使用Perfmon计数器/扩展事件和使用事务日志的lso跟踪Pagesplits/删除,这是碎片的一些原因。
https://www.brentozar.com/archive/2012/08/sql-server-index-fragmentation/
参考资料:
https://stackoverflow.com/questions/45118719
复制相似问题