为什么SQL Server中的填充因子默认为0(100%)?


9

我了解填充因子,页面和索引结构,因此我理解为什么100%填充因子是罕见的最佳实践。那么,为什么默认情况下默认为0(或100%)呢?为什么不选择90或95?

有什么我想念的吗?

Answers:


8

只是在这里提出一些建议,说明微软为什么要这样做:

  1. 他们调整了默认设置,以实现最佳的OLAP性能(更少的页面读取,填充因子为0/100)
  2. 他们假设INSERTed数据很可能位于表的末尾,从而使每页多余的空间无用
  3. 他们假设通常UPDATEd数据不会经常延长行数据,从而导致页面拆分

这只是猜测。唯一能够真正准确回答该问题的人是SQL Server团队。


5
没错,这些似乎是明智的理论,并且比选择一些任意的填充因子更适合普通客户,因为在很多情况下,可以确保您永久浪费页面上的空间。
亚伦·伯特兰

我简直不敢相信我会同意的答案。我没想到会有一个合理的答案,但是您的第二和第三点很明智。谢谢!
NTDLS 2012年

@NTDLS没问题,很乐意提供帮助。
托马斯·斯金格
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.