gpt4 book ai didi

sql - SQL Server 2008的填充因子

转载 作者:行者123 更新时间:2023-12-01 22:05:37 25 4
gpt4 key购买 nike

我是 SQL Server 2008 填充因子的新手,如 SQL Server 2008 BOL 中所述,

http://msdn.microsoft.com/en-us/library/ms177459.aspx

我的两个困惑,

  1. 填充因子是否适用于索引页?或者同时适用于索引和数据页?一开始,填充因子似乎只适用于索引页——“提供填充因子选项是为了微调索引数据存储和性能”,但最后提到——“如果现有行将被更新如果数据会延长行的大小,请使用小于 100 的填充因子。每页上的额外字节将有助于最大限度地减少因行中的额外长度而导致的页拆分。”有意见吗?

  2. 填充因子是否只对重建索引/创建索引操作生效(只有重建/创建索引才会利用填充因子保留的空闲空间),还是应用于任何插入/更新操作(任何插入/更新操作都会使用填充因子保留的空闲空间)。利用填充因子保留的可用空间)?

提前致谢,乔治

最佳答案

FILLFACTOR 仅适用于索引页。但这里的问题是,如果您有聚集索引(大多数表都有),您的 FILLFACTOR 本质上也适用于您的数据,因为您的数据位于聚集索引的叶节点内。基本上,如果您有一个真正的只读表,请将其所有索引的 FILLFACTOR 设置为 100。对于任何给定的索引结构,这将为您提供尽可能最小和最快的表。请注意,如果您将要修改的数据索引的 FILLFACTOR 设置为 100,则您将面临页面拆分并可能降低性能。

FILLFACTOR 设置得太高会影响插入/更新操作的性能。当你修改足够多的数据时,你会得到页面分割。这是 B-tree index structure 内在本质的一部分——它会自动平衡树。如果要将 FILLFACTOR 调整为显式设置,BOL表示只有重建索引时才会生效。

关于sql - SQL Server 2008的填充因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1113697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com