【发布时间】:2009-09-02 13:02:27
【问题描述】:
我一直在网上搜索书籍和谷歌咒语,试图找出叶页中的实际填充因子(SQL Server 2000 和 2005)。
我知道它是创建索引时页面上剩余的可用空间量,但我没有找到如何实际剩余空间:即,它是否很大块接近页面的末尾,或者它是通过该数据的几个间隙。
例如,[只是为了简单起见],假设一个页面只能容纳 100 行。如果填充因子被声明为 75%,这是否意味着页面的第一个(或最后一个)75% 是数据,其余部分是空闲的,或是每四行空闲一次(即,页面看起来像:数据,数据,数据,免费,数据,数据,数据,免费,...)。
总而言之,我正在掌握在将行插入具有聚簇索引的表时发生的物理操作的确切情况,并且插入没有在最后发生行的。如果在一个页面中留下多个间隙,则插入的影响最小(至少在页面拆分之前),因为可能需要移动以容纳插入的行数被最小化。如果间隙在表中的一大块中,那么处理行的开销(至少在理论上)会显着增加。
如果有人知道 MSDN 参考,请指点我!我现在找不到(虽然仍在寻找)。根据我的阅读,暗示存在许多差距 - 但这似乎没有明确说明。
【问题讨论】:
标签: sql-server sql-server-2005 sql-server-2000 fillfactor